143 lines
8.2 KiB
JSON
143 lines
8.2 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-74366",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2026-08-15T05:44:03.888Z",
|
|
"datePublished": "2026-08-15T05:58:48.264Z",
|
|
"dateUpdated": "2026-08-17T05:18:01.222Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-08-17T05:18:01.222Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: fix NULL deref in change_sta_links for unready link\n\n_ieee80211_set_active_links() calls _ieee80211_link_use_channel() for\neach newly-added link and WARN_ON_ONCE()s if it fails. The call uses\nassign_on_failure=true, which allows mac80211 to continue despite\ndriver failures, but when a mac80211-level channel validation fails\n(e.g., combinations check, DFS, or no available radio),\ndrv_assign_vif_chanctx() is never reached. Since ath12k_mac_vdev_create()\nis only called from that path, arvif->is_created remains false and\narvif->ar remains NULL for the failed link.\n\nThe subsequent drv_change_sta_links() call reaches\nath12k_mac_op_change_sta_links(), which allocates an arsta and sets\nahsta->links_map |= BIT(link_id) for the broken link before checking\nwhether the link is ready. When the vdev was never created, only\nstation_add() is skipped, but the link remains in links_map.\n\nAny subsequent operation iterating links_map and dereferencing arvif->ar\nwithout a NULL check will crash. Two observed examples are NULL deref in\nath12k_mac_ml_station_remove() on disconnect and in ath12k_mac_op_set_key()\nwhen wpa_supplicant installs PTK keys.\n\n BUG: Unable to handle kernel NULL pointer dereference at 0x00000000\n pc : ath12k_mac_station_post_remove+0x40/0xe8 [ath12k]\n Call trace:\n ath12k_mac_station_post_remove+0x40/0xe8 [ath12k]\n ath12k_mac_op_sta_state+0xb60/0x1720 [ath12k]\n drv_sta_state+0x100/0xbd8 [mac80211]\n __sta_info_destroy_part2+0x148/0x178 [mac80211]\n ieee80211_set_disassoc+0x500/0x678 [mac80211]\n\n BUG: Unable to handle kernel NULL pointer dereference at 0x00000000\n pc : ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k]\n Call trace:\n ath12k_mac_op_set_key+0x1f8/0x2c0 [ath12k]\n drv_set_key+0x70/0x100 [mac80211]\n ieee80211_key_enable_hw_accel+0x78/0x260 [mac80211]\n ieee80211_add_key+0x16c/0x2ac [mac80211]\n nl80211_new_key+0x138/0x280 [cfg80211]\n\nFix this by checking arvif->is_created before calling\nath12k_mac_alloc_assign_link_sta(). This prevents the broken link from\nentering links_map, so all subsequent operations iterating the bitmap\nare protected. The reliability of arvif->is_created across all error\npaths is ensured by the preceding patch.\n\nTested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3"
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/net/wireless/ath/ath12k/mac.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "a27fa6148dacc79451e523c2694bc0a673b1be05",
|
|
"lessThan": "cfcea221db933295bf2cd75a7f80d441c7a51e28",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "a27fa6148dacc79451e523c2694bc0a673b1be05",
|
|
"lessThan": "5f5be2aa3b6d730c51dd4f8b432f2ad72823e63f",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "a27fa6148dacc79451e523c2694bc0a673b1be05",
|
|
"lessThan": "47809a7c8348bc4a332ccc26a37c7145a5f609f8",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "affected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"drivers/net/wireless/ath/ath12k/mac.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "6.14",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "6.14",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.18.40",
|
|
"lessThanOrEqual": "6.18.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.1.5",
|
|
"lessThanOrEqual": "7.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.2",
|
|
"lessThanOrEqual": "*",
|
|
"status": "unaffected",
|
|
"versionType": "original_commit_for_fix"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"cpeApplicability": [
|
|
{
|
|
"nodes": [
|
|
{
|
|
"operator": "OR",
|
|
"negate": false,
|
|
"cpeMatch": [
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "6.14",
|
|
"versionEndExcluding": "6.18.40"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "6.14",
|
|
"versionEndExcluding": "7.1.5"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "6.14",
|
|
"versionEndExcluding": "7.2"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/cfcea221db933295bf2cd75a7f80d441c7a51e28"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/5f5be2aa3b6d730c51dd4f8b432f2ad72823e63f"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/47809a7c8348bc4a332ccc26a37c7145a5f609f8"
|
|
}
|
|
],
|
|
"title": "wifi: ath12k: fix NULL deref in change_sta_links for unready link",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |