In the Linux kernel, the following vulnerability has been resolved:
wifi: cfg80211: check A-MSDU format more carefully
If it looks like there's another subframe in the A-MSDU but the header isn't fully there, we can end up reading data out of bounds, only to discard later. Make this a bit more careful and check if the subframe header can even be present.
[
{
"digest": {
"function_hash": "77155208098375460116348940826789353564",
"length": 1902.0
},
"target": {
"file": "net/wireless/util.c",
"function": "ieee80211_amsdu_to_8023s"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9eb3bc0973d084423a6df21cf2c74692ff05647e",
"signature_version": "v1",
"id": "CVE-2024-35937-09ca8ae0",
"deprecated": false
},
{
"digest": {
"function_hash": "325368402065313480272663760269662371228",
"length": 551.0
},
"target": {
"file": "net/wireless/util.c",
"function": "ieee80211_is_valid_amsdu"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9eb3bc0973d084423a6df21cf2c74692ff05647e",
"signature_version": "v1",
"id": "CVE-2024-35937-38d0d28b",
"deprecated": false
},
{
"digest": {
"function_hash": "308379176869917358236439546308390519709",
"length": 486.0
},
"target": {
"file": "net/wireless/util.c",
"function": "ieee80211_is_valid_amsdu"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d7a8585fbb31e88fb2a0f581b70667d3300d1e9",
"signature_version": "v1",
"id": "CVE-2024-35937-3c0981cb",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"170825883591400723548103605838521507157",
"81341181674963171619994243841936900203",
"79682036832837186707511571694272726390",
"129265851907250149221014535522500993242",
"109345297179519253547376627294137549961",
"65917756943736858952488127359438198073",
"277669716404815644269038223344525278030",
"139902839081317395174121150960739085035",
"310736698585827105585202636035262250173",
"290497601526306975922488999557399373097",
"101693833570287677899875709674396502500",
"255887087456834300273477789373573347843",
"234275245802151681090127327928178030289",
"50233165613186735874955390676703096753",
"149290086942308118290173928509902146824",
"187352339669076821197446945694785413302",
"44269186754670084690533856535429743730",
"1328252633760005140891500149501393790",
"27677750098914279243911713442178834160",
"309567297467245915324296267994866246087",
"252319973518833976259251749996238730259",
"254905951753774025500962827725542191876",
"112988995491323027006582251489265433759",
"146473628565003900858140534673629742451",
"75110975679379264174275884090098723947",
"188821239575487309349901741342973924507",
"255887087456834300273477789373573347843",
"50810891627509360605336340278526100692",
"285050624119144098907923131914271343843"
]
},
"target": {
"file": "net/wireless/util.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9eb3bc0973d084423a6df21cf2c74692ff05647e",
"signature_version": "v1",
"id": "CVE-2024-35937-9c1307cd",
"deprecated": false
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"248114552812652493622817402758328912377",
"174972795095608301631054071477816508001",
"79682036832837186707511571694272726390",
"129265851907250149221014535522500993242",
"109345297179519253547376627294137549961",
"65917756943736858952488127359438198073",
"277669716404815644269038223344525278030",
"139902839081317395174121150960739085035",
"310736698585827105585202636035262250173",
"236514379924540016609267686983499981820",
"245815886568479762356537603222310732639",
"255887087456834300273477789373573347843",
"234275245802151681090127327928178030289",
"50233165613186735874955390676703096753",
"149290086942308118290173928509902146824",
"187352339669076821197446945694785413302",
"44269186754670084690533856535429743730",
"1328252633760005140891500149501393790",
"27677750098914279243911713442178834160",
"309567297467245915324296267994866246087",
"252319973518833976259251749996238730259",
"254905951753774025500962827725542191876",
"112988995491323027006582251489265433759",
"146473628565003900858140534673629742451",
"75110975679379264174275884090098723947",
"227884287483988584904634391790633034395",
"255887087456834300273477789373573347843",
"50810891627509360605336340278526100692",
"285050624119144098907923131914271343843"
]
},
"target": {
"file": "net/wireless/util.c"
},
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d7a8585fbb31e88fb2a0f581b70667d3300d1e9",
"signature_version": "v1",
"id": "CVE-2024-35937-cb2b5ca8",
"deprecated": false
},
{
"digest": {
"function_hash": "210599522440648828606842604918067090777",
"length": 1845.0
},
"target": {
"file": "net/wireless/util.c",
"function": "ieee80211_amsdu_to_8023s"
},
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5d7a8585fbb31e88fb2a0f581b70667d3300d1e9",
"signature_version": "v1",
"id": "CVE-2024-35937-e2092686",
"deprecated": false
}
]