Executive brief
A vulnerability in the Linux kernel's BPF (Berkeley Packet Filter) subsystem could allow a local attacker to trigger a system instability or locking violation. The issue occurs when certain types of BPF programs, which are used for high-performance networking and system monitoring, perform unauthorized deletion operations on internal socket maps. This could lead to a denial of service or unexpected system behavior in specific configurations.
Technical details
A vulnerability exists in the Linux kernel BPF verifier where it fails to enforce the same program-type restrictions for 'map_delete' operations as it does for 'map_update' operations on sockmap and sockhash structures. Specifically, BPF programs attached to tracepoints could trigger locking rule violations (potential deadlocks or memory corruption) by performing a 'map_delete_elem' call. The fix extends the 'may_update_sockmap' check in 'kernel/bpf/verifier.c' to also cover deletion operations, ensuring only authorized program types can modify these maps. This is a local attack requiring the ability to load BPF programs.
Affected products
- Linux Linux Kernel 5.10 to 5.10.219, 5.15 to 5.15.161, 6.1 to 6.1.93, 6.6 to 6.6.33, 6.9 to 6.9.4
Timeline
- 2024-06-21: disclosed: Initial disclosure of the vulnerability and fix in the Linux kernel.
- 2024-06-21: advisory: NVD published the CVE record.
References
- https://git.kernel.org/stable/c/000a65bf1dc04fb2b65e2abf116f0bc0fc2ee7b1
- https://git.kernel.org/stable/c/11e8ecc5b86037fec43d07b1c162e233e131b1d9
- https://git.kernel.org/stable/c/29467edc23818dc5a33042ffb4920b49b090e63d
- https://git.kernel.org/stable/c/6693b172f008846811f48a099f33effc26068e1e
- https://git.kernel.org/stable/c/98e948fb60d41447fd8d2d0c3b8637fc6b6dc26d
- https://git.kernel.org/stable/c/b81e1c5a3c70398cf76631ede63a03616ed1ba3c
- https://cert-portal.siemens.com/productcert/html/ssa-265688.html