CVE-2015-8964
Medium · 5.5CVSS
5.5
EPSS
1.5%
Published
Nov 16, 2016
CISA due date
—
Cloudanix analysis
A flaw in the Linux kernel could let someone already on the computer read secret information stored deep inside the system.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Data Exposure
- Component
- OS kernel
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The tty_set_termios_ldisc function in drivers/tty/tty_ldisc.c allows local users to read uninitialized kernel memory contents through a tty data structure.
Why it matters to the business
Attackers with local access could leak sensitive kernel data such as credentials or encryption keys, enabling further system compromise on Linux hosts.
How an attack unfolds
A local attacker interacts with tty devices to invoke tty_set_termios_ldisc with crafted parameters, causing the kernel to expose portions of its memory via the returned data structure.
How to fix it
Upgrade the Linux kernel to version 4.5 or later where the tty_set_termios_ldisc function was corrected.
How to confirm the fix worked
Confirm the running kernel version is 4.5 or newer; review source for the patched tty_ldisc.c implementation if building from source.
Typical attack path
- Gain local shell access on a vulnerable Linux system
- Open or manipulate a tty device
- Call set_termios with a new line discipline to trigger the flawed path
- Read the tty structure to extract kernel memory contents
How to detect it
Review system audit logs for unusual tty line discipline changes or tty device interactions by non-administrative users; kernel memory access patterns are not directly logged.
What your security team should do
- Prioritize kernel updates on all Linux systems to 4.5+
- Restrict local user access where possible until patched
- Monitor kernel update channels for backported fixes in supported distributions
The record
The tty_set_termios_ldisc function in drivers/tty/tty_ldisc.c in the Linux kernel before 4.5 allows local users to obtain sensitive information from kernel memory by reading a tty data structure.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 4.5.1-1 |
| Debian:12 | linux | 0 | 4.5.1-1 |
| Debian:13 | linux | 0 | 4.5.1-1 |
| Debian:7 | linux | 0 | 3.2.84-1 |
| 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 Desktop 12 SP2 | kernel-default | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | kernel-source | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Desktop 12 SP2 | kernel-syms | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise High Availability Extension 12 SP2 | kernel-default | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12-SP1_Update_12 | 0 | 1-4.1 |
| SUSE:Linux Enterprise Live Patching 12 | kgraft-patch-SLE12-SP2_Update_4 | 0 | 1-2.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 SP2 | kernel-default | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Server 12 SP2 | kernel-source | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Server 12 SP2 | kernel-syms | 0 | 4.4.38-93.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 Raspberry Pi 12 SP2 | kernel-default | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | kernel-source | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Server for Raspberry Pi 12 SP2 | kernel-syms | 0 | 4.4.38-93.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 Server for SAP Applications 12 SP2 | kernel-default | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | kernel-source | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | kernel-syms | 0 | 4.4.38-93.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 Software Development Kit 12 SP2 | kernel-docs | 0 | 4.4.38-93.3 |
| SUSE:Linux Enterprise Software Development Kit 12 SP2 | kernel-obs-build | 0 | 4.4.38-93.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP1 | kernel-default | 0 | 3.12.69-60.64.29.1 |
| SUSE:Linux Enterprise Workstation Extension 12 SP2 | kernel-default | 0 | 4.4.38-93.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-125.174 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-azure | 0 | 4.15.0-1023.24~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-57.78~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.4.0-57.78 |
| Ubuntu:16.04:LTS | linux-aws | 0 | 4.4.0-1001.10 |
| Ubuntu:16.04:LTS | linux-azure | 0 | 4.11.0-1009.9 |
| Ubuntu:16.04:LTS | linux-euclid | 0 | 4.4.0-9019.20 |
| Ubuntu:16.04:LTS | linux-gcp | 0 | 4.10.0-1004.4 |
| 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 |
| Ubuntu:16.04:LTS | linux-kvm | 0 | 4.4.0-1004.9 |
| Ubuntu:16.04:LTS | linux-oem | 0 | 4.13.0-1008.9 |
| Ubuntu:16.04:LTS | linux-raspi2 | 0 | 4.4.0-1038.45 |
| Ubuntu:16.04:LTS | linux-snapdragon | 0 | 4.4.0-1042.46 |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | No fix |
| Ubuntu:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:22.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:24.04:LTS | linux-azure-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-gcp-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-hwe-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-lowlatency-hwe-6.11 | 0 | No fix |
| Ubuntu:24.04:LTS | linux-raspi-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-realtime | 0 | No fix |
| Ubuntu:24.04:LTS | linux-riscv | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | linux-lts-vivid | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-flo | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-goldfish | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | linux-mako | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-azure-fde-5.15 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-gkeop | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-raspi2 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | linux-riscv | 0 | No fix |
Related vulnerabilities
- CVE-2025-38562 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-38352 In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: fix… Also affects linux
- CVE-2025-22037 In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix null… Also affects linux
- CVE-2025-21760 In the Linux kernel, the following vulnerability has been resolved: ndisc: extend RCU… Also affects linux
- CVE-2025-21758 In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: add RCU… Also affects linux
- CVE-2025-21664 In the Linux kernel, the following vulnerability has been resolved: dm thin: make… Also affects linux
- CVE-2024-57946 In the Linux kernel, the following vulnerability has been resolved: virtio-blk: don't… Also affects linux
- CVE-2024-57945 In the Linux kernel, the following vulnerability has been resolved: riscv: mm: Fix the… Also affects linux