CVE-2018-8897 Race condition in n/a
A race condition in OS kernels mishandling deferred debug exceptions allows attackers to escalate privileges or crash the system.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2018-8897?
CVE-2018-8897 is a high-severity vulnerability in Apple Mac Os X, published on 8 May 2018. It can only be exploited from the same machine or local network, with no action from the victim.
Official description
A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) was mishandled in the development of some or all operating-system kernels, resulting in unexpected behavior for #DB exceptions that are deferred by MOV SS or POP SS, as demonstrated by (for example) privilege escalation in Windows, macOS, some Xen configurations, or FreeBSD, or a Linux kernel crash. The MOV to SS and POP SS instructions inhibit interrupts (including NMIs), data breakpoints, and single step trap exceptions until the instruction boundary following the next instruction (SDM Vol. 3A; section 6.8.3). (The inhibited data breakpoints are those on memory accessed by the MOV to SS or POP to SS instruction itself.) Note that debug exceptions are not inhibited by the interrupt enable (EFLAGS.IF) system flag (SDM Vol. 3A; section 2.3). If the instruction following the MOV to SS or POP to SS instruction is an instruction like SYSCALL, SYSENTER, INT 3, etc. that transfers control to the operating system at CPL < 3, the debug exception is delivered after the transfer to CPL < 3 is complete. OS kernels may not expect this order of events and may therefore experience unexpected behavior when it occurs.
Weakness: CWE-362
Which versions are affected by CVE-2018-8897?
It affects 11 products.
Linux distribution packages (40)
kernel Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-PAE Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-PAE-debuginfo Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-PAE-devel Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-debug Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-debug-debuginfo Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-debug-devel Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-debuginfo Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-debuginfo-common Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-devel Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-doc Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-headers Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-xen Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-xen-debuginfo Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel-xen-devel Red Hat:rhel_aus:5.9 | All versions | 0:2.6.18-348.39.2.el5 |
kernel Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-debug Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-debug-debuginfo Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-debug-devel Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-debuginfo Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-debuginfo-common-x86_64 Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-devel Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-doc Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-firmware Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel-headers Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
perf Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
perf-debuginfo Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
python-perf Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
python-perf-debuginfo Red Hat:rhel_aus:6.4::server | All versions | 0:2.6.32-358.88.2.el6 |
kernel Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-abi-whitelists Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-debug Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-debug-debuginfo Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-debug-devel Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-debuginfo Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-debuginfo-common-x86_64 Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-devel Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-doc Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-firmware Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
kernel-headers Red Hat:rhel_aus:6.5::server | All versions | 0:2.6.32-431.89.2.el6 |
Products include Apple Mac Os X, Canonical Ubuntu Linux, Citrix Xenserver, Debian Debian Linux, Freebsd Freebsd, Redhat Enterprise Linux Server and 5 more.
How do I fix CVE-2018-8897?
Apply the vendor's patch.
Is CVE-2018-8897 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2018-8897 exists.
Public exploit code: 1 Metasploit module, 3 Exploit-DB entries and 4 proofs of concept on GitHub.
Other vulnerabilities in Apple Mac Os X
Sources
Also known as ALPINE-CVE-2018-8897, DEBIAN-CVE-2018-8897, GHSA-j2cv-h77g-5p95, RHSA-2018:1349, RHSA-2018:1350, RHSA-2018:1351 and 3 more.