CVE-2017-1000253 Linux Kernel PIE Stack Buffer Corruption Vulnerability

Exploited in the wild High 7.8 Published Updated

A flaw in Linux kernel ELF loading allows attackers to corrupt memory and potentially escalate privileges or execute code when PIE randomization is enabled.

Exploited in the wild
Since 9 Sep 2024
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2017-1000253?

CVE-2017-1000253 is a high-severity memory corruption vulnerability in Linux kernel, published on 4 Oct 2017. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

Linux distributions that have not patched their long-term kernels with https://git.kernel.org/linus/a87938b2e246b81b4fb713edb371a9fa3c5c3c86 (committed on April 14, 2015). This kernel vulnerability was fixed in April 2015 by commit a87938b2e246b81b4fb713edb371a9fa3c5c3c86 (backported to Linux 3.10.77 in May 2015), but it was not recognized as a security threat. With CONFIG_ARCH_BINFMT_ELF_RANDOMIZE_PIE enabled, and a normal top-down address allocation strategy, load_elf_binary() will attempt to map a PIE binary into an address range immediately below mm->mmap_base. Unfortunately, load_elf_ binary() does not take account of the need to allocate sufficient space for the entire binary which means that, while the first PT_LOAD segment is mapped below mm->mmap_base, the subsequent PT_LOAD segment(s) end up being mapped above mm->mmap_base into the are that is supposed to be the "gap" between the stack and the binary.

Weakness: CWE-119

Which versions are affected by CVE-2017-1000253?

It affects 3 products.

Linux distribution packages (40)
kernel Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-abi-whitelists Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-debug Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-debug-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-debug-devel Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo-common-x86_64 Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-devel Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-doc Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-firmware Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel-headers Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
perf Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
perf-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
python-perf Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
python-perf-debuginfo Red Hat:enterprise_linux:6::clientAll versions0:2.6.32-696.10.3.el6
kernel Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-abi-whitelists Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-debug Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-debug-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-debug-devel Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo-common-x86_64 Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-devel Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-doc Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-firmware Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel-headers Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
perf Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
perf-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
python-perf Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
python-perf-debuginfo Red Hat:enterprise_linux:6::computenodeAll versions0:2.6.32-696.10.3.el6
kernel Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6
kernel-abi-whitelists Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6
kernel-bootwrapper Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6
kernel-debug Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6
kernel-debug-debuginfo Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6
kernel-debug-devel Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6
kernel-debuginfo-common-i686 Red Hat:enterprise_linux:6::serverAll versions0:2.6.32-696.10.3.el6

Products include Centos Centos, Linux kernel, Redhat Enterprise Linux.

How do I fix CVE-2017-1000253?

Apply the vendor's patch. US federal agencies must fix it by 30 Sep 2024.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2017-1000253 being exploited?

Yes. Attackers have exploited CVE-2017-1000253 in the wild since at least 9 Sep 2024, including in ransomware campaigns.

Public exploit code: 1 Exploit-DB entry and 2 proofs of concept on GitHub.

All Linux kernel vulnerabilities

Sources

Also known as DEBIAN-CVE-2017-1000253, GHSA-rm92-8pw8-34fm, RHSA-2017:2793, RHSA-2017:2794, RHSA-2017:2795, RHSA-2017:2796 and 9 more.

Is CVE-2017-1000253 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free