CVE-2024-42240 Information
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:
[ bp: Massage commit message. ]
Reference
https://git.kernel.org/stable/c/db56615e96c439e13783d7715330e824b4fd4b84 https://git.kernel.org/stable/c/a765679defe1dc1b8fa01928a6ad6361e72a1364 https://git.kernel.org/stable/c/dae3543db8f0cf8ac1a198c3bb4b6e3c24d576cf https://git.kernel.org/stable/c/08518d48e5b744620524f0acd7c26c19bda7f513 https://git.kernel.org/stable/c/ac8b270b61d48fcc61f052097777e3b5e11591e0
Share on: