CVE-2017-1000253

Impact:
Important
Public Date:
2017-09-26
CWE:
CWE-119
Bugzilla:
1492212: CVE-2017-1000253 kernel: load_elf_ binary() does not take account of the need to allocate sufficient space for the entire binary
A flaw was found in the way the Linux kernel loaded ELF executables. Provided that an application was built as Position Independent Executable (PIE), the loader could allow part of that application's data segment to map over the memory area reserved for its stack, potentially resulting in memory corruption. An unprivileged local user with access to SUID (or otherwise privileged) PIE binary could use this flaw to escalate their privileges on the system.

Find out more about CVE-2017-1000253 from the MITRE CVE dictionary dictionary and NIST NVD.

Statement

This issue affects the Linux kernel packages as shipped with Red Hat Enterprise Linux 5 and 6. This issue affects the Linux kernel packages as shipped with Red Hat Enterprise Linux 7 prior to kernel version 3.10.0-693, that is Red Hat Enterprise Linux 7.4 GA kernel version. Kernel versions after 3.10.0-693 contain the fix and are thus not vulnerable. This issue affects the Linux kernel-rt packages prior to the kernel version 3.10.0-693.rt56.617 (Red Hat Enteprise Linux for Realtime) and 3.10.0-693.2.1.rt56.585.el6rt (Red Hat Enterprise MRG 2). The latest Linux kernel-rt packages as shipped with Red Hat Enterprise Linux for Realtime and Red Hat Enterprise MRG 2 are not vulnerable. Future Linux kernel updates for the respective releases will address this issue.

CVSS v3 metrics

CVSS3 Base Score 7.8
CVSS3 Base Metrics CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality High
Integrity Impact High
Availability Impact High

Red Hat Security Errata

Platform Errata Release Date
Red Hat Enterprise Linux Long Life (v. 5.9 server) (kernel) RHSA-2017:2802 2017-09-26
Red Hat Enterprise Linux Advanced Update Support 6.6 (kernel) RHSA-2017:2797 2017-09-26
Red Hat Enterprise Linux Extended Update Support 7.3 (kernel) RHSA-2017:2793 2017-09-26
Red Hat Enterprise Linux 6 (kernel) RHSA-2017:2795 2017-09-26
Red Hat Enterprise Linux Extended Update Support 6.7 (kernel) RHSA-2017:2796 2017-09-26
Red Hat Enterprise Linux Extended Update Support 7.2 (kernel) RHSA-2017:2794 2017-09-26
Red Hat Enterprise Linux Server TUS (v. 6.6) (kernel) RHSA-2017:2797 2017-09-26
Red Hat Enterprise Linux Server (v. 5 ELS) (kernel) RHSA-2017:2801 2017-09-26
Red Hat Enterprise Linux Advanced Update Support 6.2 (kernel) RHSA-2017:2800 2017-09-26
Red Hat Enterprise Linux Advanced Update Support 6.5 (kernel) RHSA-2017:2798 2017-09-26
Red Hat Enterprise Linux Advanced Update Support 6.4 (kernel) RHSA-2017:2799 2017-09-26
Red Hat Enterprise Linux Server TUS (v. 6.5) (kernel) RHSA-2017:2798 2017-09-26

Affected Packages State

Platform Package State
Red Hat Enterprise MRG 2 kernel-rt Not affected
Red Hat Enterprise Linux 7 kernel-rt Not affected
Red Hat Enterprise Linux 7 kernel-alt Not affected

Acknowledgements

Red Hat would like to thank Qualys Research Labs for reporting this issue.

Mitigation

By setting vm.legacy_va_layout to 1 we can effectively disable the exploitation of this issue by switching to the legacy mmap layout. The mmap allocations start much lower in the process address space and follow the bottom-up allocation model. As such, the initial PIE executable mapping is far from the reserved stack area and cannot interfere with the stack. 64-bit processes on Red Hat Enterprise Linux 5 are forced to use the legacy virtual address space layout regardless of the vm.legacy_va_layout value. Note: Applications that have demands for a large linear address space (such as certain databases) may be unable to handle the legacy memory layout proposed using this mitigation. We recommend to test your systems and applications before deploying this mitigation on production systems. Edit the /etc/sysctl.conf file as root, and add or amend: vm.legacy_va_layout = 1 To apply this setting, run the /sbin/sysctl -p command as the root user to reload the settings from /etc/sysctl.conf. Verify that vm.legacy_va_layout is now set to defined value: $ /sbin/sysctl vm.legacy_va_layout vm.legacy_va_layout = 1

External References

Last Modified
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.