CVE-2024-42240

x86/bhi: Avoid warning in #DB handler due to BHI mitigation

MEDIUM
5.5
CVSS Score
Published: August 7, 2024 at 03:14 PM UTC
Updated: June 17, 2026 at 07:49 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: x86/bhi: Avoid warning in #DB handler due to BHI mitigation When BHI mitigation is enabled, if SYSENTER is invoked with the TF flag set then entry_SYSENTER_compat() uses CLEAR_BRANCH_HISTORY and calls the clear_bhb_loop() before the TF flag is cleared. This causes the #DB handler (exc_debug_kernel()) to issue a warning because single-step is used outside the entry_SYSENTER_compat() function. To address this issue, entry_SYSENTER_compat() should use CLEAR_BRANCH_HISTORY after making sure the TF flag is cleared. The problem can be reproduced with the following sequence: $ cat sysenter_step.c int main() { asm("pushf; pop %ax; bts $8,%ax; push %ax; popf; sysenter"); } $ gcc -o sysenter_step sysenter_step.c $ ./sysenter_step Segmentation fault (core dumped) The program is expected to crash, and the #DB handler will issue a warning. Kernel log: WARNING: CPU: 27 PID: 7000 at arch/x86/kernel/traps.c:1009 exc_debug_kernel+0xd2/0x160 ... RIP: 0010:exc_debug_kernel+0xd2/0x160 ... Call Trace: <#DB> ? show_regs+0x68/0x80 ? __warn+0x8c/0x140 ? exc_debug_kernel+0xd2/0x160 ? report_bug+0x175/0x1a0 ? handle_bug+0x44/0x90 ? exc_invalid_op+0x1c/0x70 ? asm_exc_invalid_op+0x1f/0x30 ? exc_debug_kernel+0xd2/0x160 exc_debug+0x43/0x50 asm_exc_debug+0x1e/0x40 RIP: 0010:clear_bhb_loop+0x0/0xb0 ... </#DB> <TASK> ? entry_SYSENTER_compat_after_hwframe+0x6e/0x8d </TASK> [ bp: Massage commit message. ]

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v ≥ 6.8.55.15.154 ≤ v < 5.15.1635.15.163 ≤ v < 6.1.1006.1.85 ≤ v < 6.1.1006.2 ≤ v < 6.6.416.6.26 ≤ v < 6.6.416.7 ≤ v < 6.9.106.8.5 ≤ v < 6.96.9 ≤ v < 6.106.9 ≤ v < 6.9.105.15.1546.1.856.6.266.8.56.97390db8aea0d64e9deb28b8e1ce716f5020c7ee57dbb10f153f483e8249acebdffedf922e2ec2e18f51637712e4da5be410a1666f8aee0d86eef898bd53ec80f21839cfd4d852a6088279d602d67e5beb36b0dce2138581bc6b5e39d0273cb4c96ded81
Vendor states this is fixed in 08518d48e5b744620524f0acd7c26c19bda7f513 (fixed)
Vendor states this is fixed in a765679defe1dc1b8fa01928a6ad6361e72a1364 (fixed)
Vendor states this is fixed in ac8b270b61d48fcc61f052097777e3b5e11591e0 (fixed)
Vendor states this is fixed in dae3543db8f0cf8ac1a198c3bb4b6e3c24d576cf (fixed)
Vendor states this is fixed in db56615e96c439e13783d7715330e824b4fd4b84 (fixed)
Vendor states this is fixed in 5.15.163 (unaffected)
Vendor states this is fixed in 6.1.100 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.41 (unaffected)
Vendor states this is fixed in 6.9 (unaffected)
Vendor states this is fixed in 6.9.10 (unaffected)

References (6)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/08518d48e5b744620524f0acd7c26c19bda7f513
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a765679defe1dc1b8fa01928a6ad6361e72a1364
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ac8b270b61d48fcc61f052097777e3b5e11591e0
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/dae3543db8f0cf8ac1a198c3bb4b6e3c24d576cf
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/db56615e96c439e13783d7715330e824b4fd4b84
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-835

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card