CVE-2024-35895
Published: May 19, 2024
Modified: May 12, 2026
Description
In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Prevent lock inversion deadlock in map delete elem syzkaller started using corpuses where a BPF tracing program deletes elements from a sockmap/sockhash map. Because BPF tracing programs can be invoked from any interrupt context, locks taken during a map_delete_elem operation must be hardirq-safe. Otherwise a deadlock due to lock inversion is possible, as reported by lockdep: CPU0 CPU1 ---- ---- lock(&htab->buckets[i].lock); local_irq_disable(); lock(&host->lock); lock(&htab->buckets[i].lock); <Interrupt> lock(&host->lock); Locks in sockmap are hardirq-unsafe by design. We expects elements to be deleted from sockmap/sockhash only in task (normal) context with interrupts enabled, or in softirq context. Detect when map_delete_elem operation is invoked from a context which is _not_ hardirq-unsafe, that is interrupts are disabled, and bail out with an error. Note that map updates are not affected by this issue. BPF verifier does not allow updating sockmap/sockhash from a BPF tracing program today.
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected 604326b41a6fb9b4a78b6179335decee0365cd8c - < f7990498b05ac41f7d6a190dc0418ef1d21bf058affected 604326b41a6fb9b4a78b6179335decee0365cd8c - < dd54b48db0c822ae7b520bc80751f0a0a173ef75affected 604326b41a6fb9b4a78b6179335decee0365cd8c - < d1e73fb19a4c872d7a399ad3c66e8ca30e0875ecaffected 604326b41a6fb9b4a78b6179335decee0365cd8c - < a44770fed86515eedb5a7c00b787f847ebb134a5affected 604326b41a6fb9b4a78b6179335decee0365cd8c - < 668b3074aa14829e2ac2759799537a93b60fef86+2 more versions |
Linux | Linux | affected 4.20unaffected 0 - < 4.20unaffected 5.4.274 - <= 5.4.*unaffected 5.10.215 - <= 5.10.*unaffected 5.15.154 - <= 5.15.*+4 more versions |
References
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