Cloudanix VulnDB

CVE-2016-10088

High · 7.0

CVSS

7.0

EPSS

0.4%

Published

Dec 30, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the Linux kernel lets users already on the machine reach or damage protected internal memory, risking system crashes or unauthorized control.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
High
Impact
Privilege Gain
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

The sg driver in the Linux kernel fails to enforce proper restrictions on write operations when KERNEL_DS is set, enabling local users to read or write arbitrary kernel memory locations or trigger a use-after-free condition via /dev/sg access.

Why it matters to the business

Local attackers can escalate privileges, read sensitive kernel data, or crash affected systems, leading to potential data breaches, service disruption, and loss of system integrity on Linux hosts.

How an attack unfolds

An attacker with local access opens a /dev/sg device, sets KERNEL_DS, and issues crafted write operations that bypass intended restrictions, leveraging the incomplete prior fix to corrupt kernel memory or trigger use-after-free for privilege escalation or denial of service.

How to fix it

Upgrade the Linux kernel to a version containing commit 128394eff343fc6d2f32172f03e24829539c5835 or later; restrict unprivileged access to /dev/sg devices until patched.

How to confirm the fix worked

Verify the running kernel includes commit 128394eff343fc6d2f32172f03e24829539c5835; test that writes through /dev/sg with KERNEL_DS no longer allow arbitrary memory access.

Typical attack path

  1. Obtain local user access on an affected Linux system
  2. Open a handle to /dev/sg
  3. Set KERNEL_DS and issue malicious write operations
  4. Read or write arbitrary kernel memory or trigger use-after-free
  5. Escalate privileges or cause denial of service

How to detect it

Review kernel logs for sg driver oops or use-after-free warnings; audit processes opening /dev/sg with elevated capabilities; search for unexpected memory access patterns in kernel traces.

  • /dev/sg
  • drivers/scsi/sg.c
  • block/bsg.c
  • KERNEL_DS

What your security team should do

  • Apply the referenced kernel commit or distribution update as soon as possible
  • Limit access to /dev/sg via permissions or device whitelisting
  • Monitor for local privilege-escalation attempts targeting the sg driver
  • Review systems for any custom sg device usage that may increase exposure

The record

The sg implementation in the Linux kernel through 4.9 does not properly restrict write operations in situations where the KERNEL_DS option is set, which allows local users to read or write to arbitrary kernel memory locations or cause a denial of service (use-after-free) by leveraging access to a /dev/sg device, related to block/bsg.c and drivers/scsi/sg.c. NOTE: this vulnerability exists because of an incomplete fix for CVE-2016-9576.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 4.8.15-2
Debian:12 linux 0 4.8.15-2
Debian:13 linux 0 4.8.15-2
Debian:7 linux 0 3.2.84-1
Mageia:5 kernel 0 4.4.50-2.mga5
Mageia:5 kernel-linus 0 4.4.50-2.mga5
Mageia:5 kernel-tmb 0 4.4.50-2.mga5
Mageia:5 kernel-userspace-headers 0 4.4.50-2.mga5
Mageia:5 kmod-vboxadditions 0 5.1.10-12.mga5
Mageia:5 kmod-virtualbox 0 5.1.10-12.mga5
Mageia:5 kmod-xtables-addons 0 2.10-32.mga5
Red Hat:enterprise_linux:6::client kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::client python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::computenode python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::server python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-abi-whitelists 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-bootwrapper 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debug 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debug-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debug-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-i686 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-ppc64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-s390x 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-debuginfo-common-x86_64 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-doc 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-firmware 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-headers 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation kernel-kdump-devel 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation python-perf 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:6::workstation python-perf-debuginfo 0 0:2.6.32-696.el6
Red Hat:enterprise_linux:7::client kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::client python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::computenode python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::server python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-abi-whitelists 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-bootwrapper 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debug-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-ppc64le 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-s390x 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-debuginfo-common-x86_64 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-doc 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-headers 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-kdump-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation kernel-tools-libs-devel 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation python-perf 0 0:3.10.0-693.el7
Red Hat:enterprise_linux:7::workstation python-perf-debuginfo 0 0:3.10.0-693.el7
Red Hat:enterprise_mrg:2:server:el6 kernel-rt 0 1:3.10.0-693.2.1.rt56.585.el6rt

Related vulnerabilities