Linux: wifi: p54: validate curve data length in the calibration curve converters
What fixes it
- 81084c967c18233b19799a0c3352ebac043f31e2LinuxCVE List
- 41cdf14bf4b52fbe4673a172c2a6ad756cb08111LinuxCVE List
- 03d313e3dfb49a44c10a5c423452967694fb85e2LinuxCVE List
- 42f4b03971f9d6329c4cbd1ea5155210d16ab65bLinuxCVE List
- 4d767d6f8753db22bfc14c2724bd9cee677ffb03LinuxCVE List
- 3bdcc4d61212b001b8752d80036509b4974ce16cLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
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.
Text from CVE List
Affected versions 18
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before 81084c967c18233b19799a0c3352ebac043f31e2CVE List
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before 41cdf14bf4b52fbe4673a172c2a6ad756cb08111CVE List
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before 03d313e3dfb49a44c10a5c423452967694fb85e2CVE List
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before 42f4b03971f9d6329c4cbd1ea5155210d16ab65bCVE List
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before 4d767d6f8753db22bfc14c2724bd9cee677ffb03CVE List
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before 3bdcc4d61212b001b8752d80036509b4974ce16cCVE List
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before b0c906107150b16925ee66da09127259864c7f36CVE List
- Linuxaffected: eff1a59c48e3c6a006eb4fe5f2e405a996f2259d before ce858fa6b8a214dee5adb82358885fa024cdd887CVE List
- Linuxaffected: 2.6.24CVE List
- Linuxunaffected: all versions before 2.6.24CVE List
- Linuxunaffected: 5.10.271 through 5.10.*CVE List
- Linuxunaffected: 5.15.222 through 5.15.*CVE List
- Linuxunaffected: 6.1.189 through 6.1.*CVE List
- Linuxunaffected: 6.6.158 through 6.6.*CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.54 through 6.18.*CVE List
- Linuxunaffected: 7.2.8 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 8
- git.kernel.org/stable/c/81084c967c18233b19799a0c3352ebac043f31e2Referencevia CVE List
- git.kernel.org/stable/c/41cdf14bf4b52fbe4673a172c2a6ad756cb08111Referencevia CVE List
- git.kernel.org/stable/c/03d313e3dfb49a44c10a5c423452967694fb85e2Referencevia CVE List
- git.kernel.org/stable/c/42f4b03971f9d6329c4cbd1ea5155210d16ab65bReferencevia CVE List
- git.kernel.org/stable/c/4d767d6f8753db22bfc14c2724bd9cee677ffb03Referencevia CVE List
- git.kernel.org/stable/c/3bdcc4d61212b001b8752d80036509b4974ce16cReferencevia CVE List
- git.kernel.org/stable/c/b0c906107150b16925ee66da09127259864c7f36Referencevia CVE List
- git.kernel.org/stable/c/ce858fa6b8a214dee5adb82358885fa024cdd887Referencevia CVE List