{"id":"CVE-2024-35895","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, sockmap: Prevent lock inversion deadlock in map delete elem\n\nsyzkaller started using corpuses where a BPF tracing program deletes\nelements from a sockmap/sockhash …","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, sockmap: Prevent lock inversion deadlock in map delete elem\n\nsyzkaller started using corpuses where a BPF tracing program deletes\nelements from a sockmap/sockhash …","severity":"medium","cvss":5.5,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","cwe":["CWE-667"],"vendor":"linux","product":"linux_kernel","affected":["linux_kernel >= 4.20, < 5.4.274","linux_kernel >= 5.5, < 5.10.215","linux_kernel >= 5.11, < 5.15.154","linux_kernel >= 5.16, < 6.1.85","linux_kernel >= 6.2, < 6.6.26","linux_kernel >= 6.7, < 6.8.5","linux_kernel = 6.9","debian_linux = 10.0"],"patched":["linux_kernel 6.8.5"],"published":"2024-05-19","updated":"2026-10-15","sourceUpdated":"2026-10-15T01:17:50.647","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2024-35895","references":[{"url":"https://git.kernel.org/stable/c/668b3074aa14829e2ac2759799537a93b60fef86","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/6af057ccdd8e7619960aca1f0428339f213b31cd","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/a44770fed86515eedb5a7c00b787f847ebb134a5","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/d1e73fb19a4c872d7a399ad3c66e8ca30e0875ec","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/dd54b48db0c822ae7b520bc80751f0a0a173ef75","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/f7990498b05ac41f7d6a190dc0418ef1d21bf058","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/ff91059932401894e6c86341915615c5eb0eca48","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/668b3074aa14829e2ac2759799537a93b60fef86","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://git.kernel.org/stable/c/6af057ccdd8e7619960aca1f0428339f213b31cd","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://git.kernel.org/stable/c/a44770fed86515eedb5a7c00b787f847ebb134a5","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://git.kernel.org/stable/c/d1e73fb19a4c872d7a399ad3c66e8ca30e0875ec","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://git.kernel.org/stable/c/dd54b48db0c822ae7b520bc80751f0a0a173ef75","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://git.kernel.org/stable/c/f7990498b05ac41f7d6a190dc0418ef1d21bf058","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://git.kernel.org/stable/c/ff91059932401894e6c86341915615c5eb0eca48","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html","label":"af854a3a-2127-422b-91ae-364da2661108"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-265688.html","label":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"}],"tags":["nvd","cve.org"],"epss":0.00182,"epssPercentile":0.07713,"ingestedAt":"2026-10-15T03:30:12.684Z","ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2024-05-23T19:25:39.256006Z"},"slug":"CVE-2024-35895","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nbpf, sockmap: Prevent lock inversion deadlock in map delete elem\n\nsyzkaller started using corpuses where a BPF tracing program deletes\nelements from a sockmap/sockhash map. Because BPF tracing programs can be\ninvoked from any interrupt context, locks taken during a map_delete_elem\noperation must be hardirq-safe. Otherwise a deadlock due to lock inversion\nis possible, as reported by lockdep:\n\n       CPU0                    CPU1\n       ----                    ----\n  lock(&htab->buckets[i].lock);\n                               local_irq_disable();\n                               lock(&host->lock);\n                               lock(&htab->buckets[i].lock);\n  <Interrupt>\n    lock(&host->lock);\n\nLocks in sockmap are hardirq-unsafe by design. We expects elements to be\ndeleted from sockmap/sockhash only in task (normal) context with interrupts\nenabled, or in softirq context.\n\nDetect when map_delete_elem operation is invoked from a context which is\n_not_ hardirq-unsafe, that is interrupts are disabled, and bail out with an\nerror.\n\nNote that map updates are not affected by this issue. BPF verifier does not\nallow updating sockmap/sockhash from a BPF tracing program today.\n\n## Affected\n\n- `linux_kernel >= 4.20, < 5.4.274`\n- `linux_kernel >= 5.5, < 5.10.215`\n- `linux_kernel >= 5.11, < 5.15.154`\n- `linux_kernel >= 5.16, < 6.1.85`\n- `linux_kernel >= 6.2, < 6.6.26`\n- `linux_kernel >= 6.7, < 6.8.5`\n- `linux_kernel = 6.9`\n- `debian_linux = 10.0`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `linux_kernel 6.8.5`","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":30.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}