CVE-2024-43840
Published: Aug 17, 2024
Modified: May 11, 2026
Description
In the Linux kernel, the following vulnerability has been resolved: bpf, arm64: Fix trampoline for BPF_TRAMP_F_CALL_ORIG When BPF_TRAMP_F_CALL_ORIG is set, the trampoline calls __bpf_tramp_enter() and __bpf_tramp_exit() functions, passing them the struct bpf_tramp_image *im pointer as an argument in R0. The trampoline generation code uses emit_addr_mov_i64() to emit instructions for moving the bpf_tramp_image address into R0, but emit_addr_mov_i64() assumes the address to be in the vmalloc() space and uses only 48 bits. Because bpf_tramp_image is allocated using kzalloc(), its address can use more than 48-bits, in this case the trampoline will pass an invalid address to __bpf_tramp_enter/exit() causing a kernel crash. Fix this by using emit_a64_mov_i64() in place of emit_addr_mov_i64() as it can work with addresses that are greater than 48-bits.
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected efc9909fdce00a827a37609628223cd45bf95d0b - < 077149478497b2f00ff4fd9da2c892defa6418d8affected efc9909fdce00a827a37609628223cd45bf95d0b - < d9664e6ff040798a46cdc5d401064f55b8676c83affected efc9909fdce00a827a37609628223cd45bf95d0b - < 6d218fcc707d6b2c3616b6cd24b948fd4825cfecaffected efc9909fdce00a827a37609628223cd45bf95d0b - < 19d3c179a37730caf600a97fed3794feac2b197b |
Linux | Linux | affected 6.0unaffected 0 - < 6.0unaffected 6.1.140 - <= 6.1.*unaffected 6.6.92 - <= 6.6.*unaffected 6.10.3 - <= 6.10.*+1 more versions |
Security Training
Train your team to recognize and prevent security threats with our comprehensive security awareness program.
Start TrainingVulnerability Scanning
Discover vulnerabilities in your applications and infrastructure before attackers do.
Scan Now