Cloudanix VulnDB

CVE-2016-9756

Medium · 5.5

CVSS

5.5

EPSS

0.5%

Published

Dec 28, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A coding mistake in older Linux kernels could let someone already logged into the computer peek at secret data stored inside the operating system's own memory.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
OS kernel
Class
Information Disclosure
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The KVM x86 emulator in arch/x86/kvm/emulate.c fails to initialize the Code Segment (CS) register on certain error paths, exposing uninitialized kernel stack contents to local user-space processes.

Why it matters to the business

Local attackers on unpatched Linux systems can obtain sensitive kernel memory that may contain credentials or other secrets, increasing the chance of privilege escalation or data theft on affected hosts.

How an attack unfolds

An attacker with local access compiles and runs a crafted program that forces the KVM emulator into an error path where the CS register was never properly set, then reads the leaked stack bytes from the returned structure.

How to fix it

Upgrade the Linux kernel to a version that includes commit 2117d5398c81554fbf803f5fd1dc55eb78216c0c (or any later equivalent that properly initializes CS).

How to confirm the fix worked

Verify the running kernel source contains the referenced commit or that the CS initialization occurs before any error return in emulate.c; recompile and test with a minimal reproducer if needed.

Typical attack path

  1. Gain a local shell on a system running a vulnerable kernel
  2. Execute a user-space program that triggers the specific KVM error condition
  3. Read and parse the leaked kernel stack memory returned to the process

How to detect it

Review system logs for unexpected KVM emulation faults and audit local process execution that interacts with /dev/kvm; correlate with user activity around the time of any observed information leaks.

What your security team should do

  • Apply the kernel update containing the listed commit on all affected systems
  • Limit local user accounts and KVM access to trusted users only
  • Include the kernel package in regular patching cycles and vulnerability scans

The record

arch/x86/kvm/emulate.c in the Linux kernel before 4.8.12 does not properly initialize Code Segment (CS) in certain error cases, which allows local users to obtain sensitive information from kernel stack memory via a crafted application.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 4.8.15-1
Debian:12 linux 0 4.8.15-1
Debian:13 linux 0 4.8.15-1
Debian:14 linux 0 4.8.15-1
Debian:7 linux 0 3.2.84-1
Mageia:5 kernel 0 4.4.36-2.mga5
Mageia:5 kernel-linus 0 4.4.39-1.mga5
Mageia:5 kernel-tmb 0 4.4.39-1.mga5
Mageia:5 kernel-userspace-headers 0 4.4.36-2.mga5
Mageia:5 kmod-vboxadditions 0 5.1.10-2.1.mga5
Mageia:5 kmod-virtualbox 0 5.1.10-2.1.mga5
Mageia:5 kmod-xtables-addons 0 2.10-17.mga5
SUSE:Linux Enterprise Desktop 12 SP1 kernel-default 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-source 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-syms 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Desktop 12 SP1 kernel-xen 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Live Patching 12 kgraft-patch-SLE12-SP1_Update_12 0 1-4.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Module for Public Cloud 12 kernel-ec2 0 3.12.61-52.66.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-default 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-pae 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-source 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-syms 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-trace 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Point of Sale 11 SP3 kernel-xen 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-rt 0 3.0.101.rt130-68.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-rt_trace 0 3.0.101.rt130-68.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-source-rt 0 3.0.101.rt130-68.1
SUSE:Linux Enterprise Real Time 11 SP4 kernel-syms-rt 0 3.0.101.rt130-68.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-compute 0 3.12.69-60.30.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-compute_debug 0 3.12.69-60.30.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-rt 0 3.12.69-60.30.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-rt_debug 0 3.12.69-60.30.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-source-rt 0 3.12.69-60.30.1
SUSE:Linux Enterprise Real Time 12 SP1 kernel-syms-rt 0 3.12.69-60.30.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-default 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-ec2 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-pae 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-source 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-syms 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-trace 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP2-LTSS kernel-xen 0 3.0.101-0.7.53.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-default 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-pae 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-source 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-syms 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-trace 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP3-LTSS kernel-xen 0 3.0.101-0.47.96.1
SUSE:Linux Enterprise Server 11 SP4 kernel-bigmem 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-default 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-ec2 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-pae 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-ppc64 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-source 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-syms 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-trace 0 3.0.101-94.1
SUSE:Linux Enterprise Server 11 SP4 kernel-xen 0 3.0.101-94.1
SUSE:Linux Enterprise Server 12 SP1 kernel-default 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Server 12 SP1 kernel-source 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Server 12 SP1 kernel-syms 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Server 12 SP1 kernel-xen 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Server 12-LTSS kernel-default 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kernel-source 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kernel-syms 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kernel-xen 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server 12-LTSS kgraft-patch-SLE12_Update_19 0 1-2.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-bigmem 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-default 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-ec2 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-pae 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-ppc64 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-source 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-syms 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-trace 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 kernel-xen 0 3.0.101-94.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-default 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-source 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-syms 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kernel-xen 0 3.12.61-52.66.1
SUSE:Linux Enterprise Server for SAP Applications 12 kgraft-patch-SLE12_Update_19 0 1-2.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-default 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-source 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-syms 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 kernel-xen 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 kernel-docs 0 3.0.101-94.2
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-docs 0 3.12.69-60.64.29.3
SUSE:Linux Enterprise Software Development Kit 12 SP1 kernel-obs-build 0 3.12.69-60.64.29.1
SUSE:Linux Enterprise Workstation Extension 12 SP1 kernel-default 0 3.12.69-60.64.29.1
SUSE:Manager 2.1 kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-default 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-source 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-syms 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-trace 0 3.0.101-0.47.96.1
SUSE:Manager 2.1 kernel-xen 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-default 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-source 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-syms 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-trace 0 3.0.101-0.47.96.1
SUSE:Manager Proxy 2.1 kernel-xen 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-bigsmp 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-default 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-ec2 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-source 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-syms 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-trace 0 3.0.101-0.47.96.1
SUSE:OpenStack Cloud 5 kernel-xen 0 3.0.101-0.47.96.1
Ubuntu:14.04:LTS linux 0 3.13.0-107.154
Ubuntu:14.04:LTS linux-aws 0 4.4.0-1002.2
Ubuntu:14.04:LTS linux-lts-vivid 0 3.19.0-79.87~14.04.1
Ubuntu:14.04:LTS linux-lts-xenial 0 4.4.0-59.80~14.04.1
Ubuntu:16.04:LTS linux 0 4.4.0-59.80
Ubuntu:16.04:LTS linux-aws 0 4.4.0-1003.12
Ubuntu:16.04:LTS linux-gke 0 4.4.0-1003.3
Ubuntu:16.04:LTS linux-hwe 0 4.8.0-36.36~16.04.1

Related vulnerabilities