In the Linux kernel, the following vulnerability has been resolved:
wifi: ath12k: fix dfs-radar and temperature event locking
The ath12k active pdevs are protected by RCU but the DFS-radar and temperature event handling code calling ath12kmacgetarbypdevid() was not marked as a read-side critical section.
Mark the code in question as RCU read-side critical sections to avoid any potential use-after-free issues.
Note that the temperature event handler looks like a place holder currently but would still trigger an RCU lockdep splat.
Compile tested only.
[
{
"id": "CVE-2023-52776-0ece4087",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@774de37c147fea81f2c2e4be5082304f4f71d535",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ath12k_wmi_pdev_temperature_event",
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"function_hash": "66349337703585025376160407542239319770",
"length": 519.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-52776-29e5ee61",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7a5f7f76568e48869916d769e28b9f3ca70c78e",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ath12k_wmi_pdev_dfs_radar_detected_event",
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"function_hash": "237674175290770346487709622352752440652",
"length": 1306.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-52776-42a375c2",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7a5f7f76568e48869916d769e28b9f3ca70c78e",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ath12k_wmi_pdev_temperature_event",
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"function_hash": "66349337703585025376160407542239319770",
"length": 519.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-52776-4866c9e4",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@69bd216e049349886405b1c87a55dce3d35d1ba7",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"3626440579913176280972121584783418442",
"162961715232332283228351238971813335324",
"141628880065575616173170303562870775773",
"331564981565784650644292879876971831448",
"252870869309040293906400817564233783891",
"157892592474693948655302639961017002062",
"92042057130272095780102752465710673192",
"67299147447093627613917430279188593510",
"22112541248019009866330126413662503165",
"253174259914687342761359625386708500910",
"191785968939727299868761308165745819629",
"110512524968498137299008503564180284100",
"140083257439962084689140936611150903035",
"67317696790081504111126594366355354001",
"70951995477167057687004491774119973738"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-52776-4c813e82",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@774de37c147fea81f2c2e4be5082304f4f71d535",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ath12k_wmi_pdev_dfs_radar_detected_event",
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"function_hash": "237674175290770346487709622352752440652",
"length": 1306.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-52776-6dc8870d",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@774de37c147fea81f2c2e4be5082304f4f71d535",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"3626440579913176280972121584783418442",
"162961715232332283228351238971813335324",
"141628880065575616173170303562870775773",
"331564981565784650644292879876971831448",
"252870869309040293906400817564233783891",
"157892592474693948655302639961017002062",
"92042057130272095780102752465710673192",
"67299147447093627613917430279188593510",
"22112541248019009866330126413662503165",
"253174259914687342761359625386708500910",
"191785968939727299868761308165745819629",
"110512524968498137299008503564180284100",
"140083257439962084689140936611150903035",
"67317696790081504111126594366355354001",
"70951995477167057687004491774119973738"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-52776-87135972",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@69bd216e049349886405b1c87a55dce3d35d1ba7",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ath12k_wmi_pdev_temperature_event",
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"function_hash": "66349337703585025376160407542239319770",
"length": 519.0
},
"signature_type": "Function"
},
{
"id": "CVE-2023-52776-cbe2d549",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d7a5f7f76568e48869916d769e28b9f3ca70c78e",
"deprecated": false,
"signature_version": "v1",
"target": {
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"threshold": 0.9,
"line_hashes": [
"3626440579913176280972121584783418442",
"162961715232332283228351238971813335324",
"141628880065575616173170303562870775773",
"331564981565784650644292879876971831448",
"252870869309040293906400817564233783891",
"157892592474693948655302639961017002062",
"92042057130272095780102752465710673192",
"67299147447093627613917430279188593510",
"22112541248019009866330126413662503165",
"253174259914687342761359625386708500910",
"191785968939727299868761308165745819629",
"110512524968498137299008503564180284100",
"140083257439962084689140936611150903035",
"67317696790081504111126594366355354001",
"70951995477167057687004491774119973738"
]
},
"signature_type": "Line"
},
{
"id": "CVE-2023-52776-eaa340fc",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@69bd216e049349886405b1c87a55dce3d35d1ba7",
"deprecated": false,
"signature_version": "v1",
"target": {
"function": "ath12k_wmi_pdev_dfs_radar_detected_event",
"file": "drivers/net/wireless/ath/ath12k/wmi.c"
},
"digest": {
"function_hash": "237674175290770346487709622352752440652",
"length": 1306.0
},
"signature_type": "Function"
}
]