Skip to main content
← All vulnerabilities
CVE-2025-40078

bpf: Explicitly check accesses to bpf_sock_addr

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.4.301, 5.10.246, 5.15.195, 6.1.156, 6.6.112, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

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.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in de44cdc50d2dce8718cb57deddf9cf1be9a7759f; From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in 76e04bbb4296fb6eac084dbfc27e02ccc744db3e; From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in 6d8b1a21fd5c34622b0c3893c61e4a38d8ba53ec; From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in 4f00858cd9bbbdf67159e28b85a8ca9e77c83622; From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in cdeafacb4f9ff261a96baef519e29480fd7b1019; From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in fe9d33f0470350558cb08cecb54cf2267b3a45d2; From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in ad8b4fe5617e3c85fc23267f02500c4f3bf0ff69; From 1cedee13d25ab118d325f95588c1a084e9317229 · fixed in 6fabca2fc94d33cdf7ec102058983b086293395f

  • Linux Linux

    4.18

  • KernelLinux

    From 4.18.0 · fixed in 5.4.301; From 5.5.0 · fixed in 5.10.246; From 5.11.0 · fixed in 5.15.195; From 5.16.0 · fixed in 6.1.156; From 6.2.0 · fixed in 6.6.112; From 6.7.0 · fixed in 6.12.53; From 6.13.0 · fixed in 6.17.3

References 8

git.kernel.org