CVE-2014-8133
NoneCVSS
—
EPSS
0.6%
Published
Dec 17, 2014
CISA due date
—
Cloudanix analysis
An old flaw in the Linux kernel lets people who already have access to a computer more easily get around built-in memory protections, making it simpler for them to take over the machine.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
The flaw in the TLS implementation allows a local process to issue a crafted set_thread_area syscall and subsequently read a 16-bit value, defeating the espfix stack-segment hardening and thereby weakening ASLR.
Why it matters to the business
Local attackers on affected Linux systems can more easily bypass memory layout randomization, increasing the likelihood of successful local privilege escalation or information disclosure on long-lived servers and endpoints that have not been updated in over a decade.
How an attack unfolds
An attacker with a local shell compiles or executes a small program that deliberately calls set_thread_area with attacker-controlled parameters, reads the resulting 16-bit selector value, and uses the obtained information to calculate reliable addresses for subsequent exploits that target the weakened ASLR.
How to fix it
Upgrade the Linux kernel to a version later than 3.18.1 that contains the espfix hardening fix; rebuild and reboot all affected hosts; apply the same update to any container base images or virtual-machine templates.
How to confirm the fix worked
Confirm the running kernel version is newer than 3.18.1 with uname -r; inspect /proc/sys/kernel/randomize_va_space and verify espfix-related commits are present in the kernel source or changelog; run a local ASLR-leak test binary and confirm the 16-bit selector leak is no longer observable.
Typical attack path
- Obtain local unprivileged shell on target Linux system
- Execute crafted binary that invokes set_thread_area syscall
- Read 16-bit TLS selector value leaked by the kernel
- Calculate base addresses of libraries and stack despite ASLR
- Chain with additional local exploit to gain root or escape container
How to detect it
Review authentication and process-creation logs for unexpected local binaries or shells; examine any post-exploitation artifacts such as custom set_thread_area test programs left on disk; correlate with known Linux local-privilege-escalation tooling that targets ASLR bypass.
What your security team should do
- Immediately inventory all systems still running kernels 3.18.1 or older and schedule emergency patching
- Add kernel version checks to continuous compliance scans
- Disable or restrict local user accounts on systems where patching is delayed
- Monitor for future kernel privilege-escalation activity even though EPSS remains low
The record
arch/x86/kernel/tls.c in the Thread Local Storage (TLS) implementation in the Linux kernel through 3.18.1 allows local users to bypass the espfix protection mechanism, and consequently makes it easier for local users to bypass the ASLR protection mechanism, via a crafted application that makes a set_thread_area system call and later reads a 16-bit value.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | 3.16.7-ckt4-1 |
| Debian:12 | linux | 0 | 3.16.7-ckt4-1 |
| Debian:13 | linux | 0 | 3.16.7-ckt4-1 |
| Debian:6.0 | linux-2.6 | 0 | 2.6.32-48squeeze11 |
| Debian:7 | linux | 0 | 3.2.65-1+deb7u1 |
| Mageia:4 | kernel | 0 | 3.14.27-1.mga4 |
| Mageia:4 | kernel-linus | 0 | 3.14.32-1.mga4 |
| Mageia:4 | kernel-rt | 0 | 3.14.32-0.rt28.1.mga4 |
| Mageia:4 | kernel-tmb | 0 | 3.14.32-1.mga4 |
| Mageia:4 | kernel-userspace-headers | 0 | 3.14.27-1.mga4 |
| Mageia:4 | kernel-vserver | 0 | 3.14.32-0.vs2.3.6.14.1.mga4 |
| Mageia:4 | kmod-broadcom-wl | 0 | 6.30.223.141-44.mga4.nonfree |
| Mageia:4 | kmod-fglrx | 0 | 14.010.1006-14.mga4.nonfree |
| Mageia:4 | kmod-nvidia173 | 0 | 173.14.39-29.mga4.nonfree |
| Mageia:4 | kmod-vboxadditions | 0 | 4.3.20-3.mga4 |
| Mageia:4 | kmod-virtualbox | 0 | 4.3.20-3.mga4 |
| Mageia:4 | kmod-xtables-addons | 0 | 2.5-9.mga4 |
| Red Hat:enterprise_linux:6::client | kernel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-abi-whitelists | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-bootwrapper | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debug | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debug-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debug-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debuginfo-common-i686 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debuginfo-common-ppc64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debuginfo-common-s390x | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-debuginfo-common-x86_64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-doc | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-firmware | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-headers | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-kdump | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-kdump-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | kernel-kdump-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | python-perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::client | python-perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-abi-whitelists | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-bootwrapper | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debug | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debug-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debug-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debuginfo-common-i686 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debuginfo-common-ppc64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debuginfo-common-s390x | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-debuginfo-common-x86_64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-doc | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-firmware | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-headers | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-kdump | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-kdump-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | kernel-kdump-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | python-perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::computenode | python-perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-abi-whitelists | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-bootwrapper | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debug | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debug-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debug-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debuginfo-common-i686 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debuginfo-common-ppc64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debuginfo-common-s390x | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-debuginfo-common-x86_64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-doc | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-firmware | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-headers | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-kdump | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-kdump-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | kernel-kdump-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | python-perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::server | python-perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-abi-whitelists | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-bootwrapper | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debug | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debug-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debug-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debuginfo-common-i686 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debuginfo-common-ppc64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debuginfo-common-s390x | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-debuginfo-common-x86_64 | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-doc | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-firmware | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-headers | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-kdump | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-kdump-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | kernel-kdump-devel | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | python-perf | 0 | 0:2.6.32-573.el6 |
| Red Hat:enterprise_linux:6::workstation | python-perf-debuginfo | 0 | 0:2.6.32-573.el6 |
| Ubuntu:14.04:LTS | linux | 0 | 3.13.0-46.75 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-lts-utopic | 0 | 3.16.0-31.41~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-vivid | 0 | 3.19.0-18.18~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-wily | 0 | 4.2.0-18.22~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-13.29~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.2.0-16.19 |
| Ubuntu:16.04:LTS | linux-aws | 0 | 4.4.0-1001.10 |
| 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-raspi2 | 0 | 4.2.0-1013.19 |
| Ubuntu:16.04:LTS | linux-snapdragon | 0 | 4.4.0-1012.12 |
| 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: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: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: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 |
| openSUSE:Tumbleweed | kernel-source | 0 | 4.8.13-1.1 |
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