xsk: Use a 32-bit compare in xsk_map_gen_lookup
- 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 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.112, and 2 more
- 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: xsk: Use a 32-bit compare in xsk_map_gen_lookup xsk_map_gen_lookup() loads a u32 key and compares it with max_entries using BPF_JMP_IMM. BPF immediates are sign-extended to 64 bits, so a max_entries value of 0x80000000 or higher becomes a threshold larger than every zero-extended 32-bit key. An out-of-range index then skips the bounds check and the generated lookup reads past xsk_map[]. Compare with BPF_JMP32_IMM so the check stays in 32-bit unsigned range.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in c6d5c582d55a8f229d75e98d62eaa065b0deb18d; From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in 227ec890559e922e235eb543646e3bf0bd8269b0; From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in 11d9be35c1f4233798e99be98bc474f83a254c6c; From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in 123f90f394ca404ab8796a7c8072ff7fa5b65a9c; From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in 36461e58f88a1b723f86693f437ac12e60ff4363; From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in b5c0cff0c5331582ab01c4c423731453a8381acc; From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in 3c1e0a4bc156b8d5c5772dbc76b9ea74dce5ca24; From e65650f291ee72fc578d6346080fc4699204ef2c · fixed in 70504de0bb627848667207bec7ccfd647deb8814
- Linux Linux
5.5
- KernelLinux
From 5.5.0 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9
References 8
git.kernel.org
- stable/c/c6d5c582d55a8f229d75e98d62eaa065b0deb18d
- stable/c/227ec890559e922e235eb543646e3bf0bd8269b0
- stable/c/11d9be35c1f4233798e99be98bc474f83a254c6c
- stable/c/123f90f394ca404ab8796a7c8072ff7fa5b65a9c
- stable/c/36461e58f88a1b723f86693f437ac12e60ff4363
- stable/c/b5c0cff0c5331582ab01c4c423731453a8381acc
- stable/c/3c1e0a4bc156b8d5c5772dbc76b9ea74dce5ca24
- stable/c/70504de0bb627848667207bec7ccfd647deb8814