wifi: p54: require a full exp_if record in PDR_INTERFACE_LIST
- 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: require a full exp_if record in PDR_INTERFACE_LIST The PDR_INTERFACE_LIST loop only checks that the record start is within the entry before reading an entire struct exp_if from it. A truncated trailing record makes the if_id/variant reads cross the entry boundary into the heap beyond the EEPROM buffer (verified with a KASAN reproducer of the loop). The variant also feeds the synth front-end selection, so this is not only a leak. Advance only while a full record still fits in the entry.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 162dbe1c285a621eab6a9f2851086b63a0378928; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 70bf34b425fe549a4f6a8d50a319f8f05d1f91c9; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in 487f966421014de41e835bbce3feb30b35f4f729; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in bc83c04be042f53869c315b8e1eb5f124959d1d7; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in d44c1badc2dcb042985f7e37f4c448c84548b81f; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in d2fb6b588dc5bbab4f603661e41cd60f0d931628; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in d82492fd0a3fb61963c236521852763238ad3898; From eff1a59c48e3c6a006eb4fe5f2e405a996f2259d · fixed in d8efd84f49379ed28624098821f80e992657d935
- 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/162dbe1c285a621eab6a9f2851086b63a0378928
- stable/c/70bf34b425fe549a4f6a8d50a319f8f05d1f91c9
- stable/c/487f966421014de41e835bbce3feb30b35f4f729
- stable/c/bc83c04be042f53869c315b8e1eb5f124959d1d7
- stable/c/d44c1badc2dcb042985f7e37f4c448c84548b81f
- stable/c/d2fb6b588dc5bbab4f603661e41cd60f0d931628
- stable/c/d82492fd0a3fb61963c236521852763238ad3898
- stable/c/d8efd84f49379ed28624098821f80e992657d935