bpf: Check params size before reading reserved fields
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.112, 6.18.55, 7.2.9
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: bpf: Check params size before reading reserved fields bpf_crypto_ctx_create() is a kfunc whose second argument is declared with the __sz annotation, so the verifier only guarantees that params__sz bytes of params are valid. The function nevertheless reads params->reserved[0] and params->reserved[1] (offsets 14 and 15) before comparing params__sz against the size of struct bpf_crypto_params, so a BPF program can pass a shorter buffer and have the kernel read past the region that was validated for it. Move the size check in front of the reserved field reads.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 3e1c6f35409f9e447bf37f64840f5b65576bfb78 · fixed in e03253f5d65ebcd2a6d479f140c3bd9c7e4fb84a; From 3e1c6f35409f9e447bf37f64840f5b65576bfb78 · fixed in cd12d3e08620257fbcaa262785d7f4b9473afc7a; From 3e1c6f35409f9e447bf37f64840f5b65576bfb78 · fixed in 86a0e945fb645ea90233fde239cd2de79f01974c; From 3e1c6f35409f9e447bf37f64840f5b65576bfb78 · fixed in a11212910cf09b2fe8db9afa41ef60c4f81879c5
- Linux Linux
6.10
- KernelLinux
From 6.10.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9