wifi: p54: validate curve data length in the calibration curve converters
- 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: wifi: p54: validate curve data length in the calibration curve converters p54_convert_rev0() and p54_convert_rev1() read calibration curve data from the device-supplied EEPROM entry using channel and points-per-channel counts taken verbatim from that same entry, so an entry that declares more data than it carries drives an out-of-bounds read past the EEPROM buffer (verified with a KASAN reproducer of the conversion loop). The sibling converters p54_convert_output_limits() and p54_convert_db() already validate their counts against the entry length; this path was missed. Reject the entry when the counts do not fit in the entry data.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 81084c967c18233b19799a0c3352ebac043f31e2; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 41cdf14bf4b52fbe4673a172c2a6ad756cb08111; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 03d313e3dfb49a44c10a5c423452967694fb85e2; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 42f4b03971f9d6329c4cbd1ea5155210d16ab65b; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 4d767d6f8753db22bfc14c2724bd9cee677ffb03; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 3bdcc4d61212b001b8752d80036509b4974ce16c; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in b0c906107150b16925ee66da09127259864c7f36; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in ce858fa6b8a214dee5adb82358885fa024cdd887
- Linux Linux
2.6.24
- KernelLinux
From 2.6.24 · 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.54; From 6.19.0 · fixed in 7.2.8
References 8
git.kernel.org
- stable/c/81084c967c18233b19799a0c3352ebac043f31e2
- stable/c/41cdf14bf4b52fbe4673a172c2a6ad756cb08111
- stable/c/03d313e3dfb49a44c10a5c423452967694fb85e2
- stable/c/42f4b03971f9d6329c4cbd1ea5155210d16ab65b
- stable/c/4d767d6f8753db22bfc14c2724bd9cee677ffb03
- stable/c/3bdcc4d61212b001b8752d80036509b4974ce16c
- stable/c/b0c906107150b16925ee66da09127259864c7f36
- stable/c/ce858fa6b8a214dee5adb82358885fa024cdd887