CVE-2025-40078
Description
In the Linux kernel, the following vulnerability has been resolved:
bpf: Explicitly check accesses to bpf_sock_addr
Syzkaller found a kernel warning on the following sock_addr program:
0: r0 = 0 1: r2 = *(u32 *)(r1 +60) 2: exit
which triggers:
verifier bug: error during ctx access conversion (0)
This is happening because offset 60 in bpf_sock_addr corresponds to an implicit padding of 4 bytes, right after msg_src_ip4. Access to this padding isn't rejected in sock_addr_is_valid_access and it thus later fails to convert the access.
This patch fixes it by explicitly checking the various fields of bpf_sock_addr in sock_addr_is_valid_access.
I checked the other ctx structures and is_valid_access functions and didn't find any other similar cases. Other cases of (properly handled) padding are covered in new tests in a subsequent patch.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A missing bounds check in the Linux kernel's BPF verifier for bpf_sock_addr allows out-of-bounds reads via padding fields, triggering a kernel warning.
Root
Cause
In the Linux kernel's BPF verifier, the sock_addr_is_valid_access function did not explicitly reject accesses to implicit padding fields in the bpf_sock_addr structure. Specifically, offset 60 corresponds to a 4-byte padding field located after msg_src_ip4. When a BPF program attempts to read from this offset, the verifier fails during context access conversion, leading to a kernel warning. [Description]
Exploitation
A local attacker with the ability to load and attach BPF sock_addr programs can craft a program that reads from offset 60 of the context. No special privileges beyond-normal privileges are required for such BPF operations, making the attack surface accessible to unprivileged users in some configurations. The syzkaller fuzzer reproduced this issue, demonstrating that the verifier does not properly sanitize field access, causing a kernel BUG or warning. [Description]
Impact
When triggered, the vulnerability results in a kernel warning and potentially a crash due to verifier bug, effectively causing a denial-of-service (DoS) condition on the affected system. While the kernel remains functional after a warning, repeated triggering degrades reliability and may escalate to a full system panic depending on the configuration.
Mitigation
Patches have been merged into the Linux kernel stable tree, as shown in commit references [1], [2], [3], and [4]. System administrators should apply the latest stable kernel updates from their distribution to resolve the issue. No workaround exists beyond restricting BPF access via kernel.unprivileged_bpf_disabled sysctl. [1][2][3][4]
AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
1Patches
8de44cdc50d2d76e04bbb42966d8b1a21fd5c4f00858cd9bbcdeafacb4f9ffe9d33f04703ad8b4fe5617e6fabca2fc94dVulnerability mechanics
Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
8- git.kernel.org/stable/c/4f00858cd9bbbdf67159e28b85a8ca9e77c83622nvd
- git.kernel.org/stable/c/6d8b1a21fd5c34622b0c3893c61e4a38d8ba53ecnvd
- git.kernel.org/stable/c/6fabca2fc94d33cdf7ec102058983b086293395fnvd
- git.kernel.org/stable/c/76e04bbb4296fb6eac084dbfc27e02ccc744db3envd
- git.kernel.org/stable/c/ad8b4fe5617e3c85fc23267f02500c4f3bf0ff69nvd
- git.kernel.org/stable/c/cdeafacb4f9ff261a96baef519e29480fd7b1019nvd
- git.kernel.org/stable/c/de44cdc50d2dce8718cb57deddf9cf1be9a7759fnvd
- git.kernel.org/stable/c/fe9d33f0470350558cb08cecb54cf2267b3a45d2nvd
News mentions
0No linked articles in our index yet.