235 lines
13 KiB
JSON
235 lines
13 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2025-39732",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2025-04-16T07:20:57.118Z",
|
|
"datePublished": "2025-09-07T15:16:20.684Z",
|
|
"dateUpdated": "2026-10-21T12:37:18.108Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-10-21T12:37:18.108Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath11k: fix sleeping-in-atomic in ath11k_mac_op_set_bitrate_mask()\n\nath11k_mac_disable_peer_fixed_rate() is passed as the iterator to\nieee80211_iterate_stations_atomic(). Note in this case the iterator is\nrequired to be atomic, however ath11k_mac_disable_peer_fixed_rate() does\nnot follow it as it might sleep. Consequently below warning is seen:\n\nBUG: sleeping function called from invalid context at wmi.c:304\nCall Trace:\n <TASK>\n dump_stack_lvl\n __might_resched.cold\n ath11k_wmi_cmd_send\n ath11k_wmi_set_peer_param\n ath11k_mac_disable_peer_fixed_rate\n ieee80211_iterate_stations_atomic\n ath11k_mac_op_set_bitrate_mask.cold\n\nChange to ieee80211_iterate_stations_mtx() to fix this issue.\n\nTested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.30"
|
|
}
|
|
],
|
|
"metrics": [
|
|
{
|
|
"cvssV3_1": {
|
|
"version": "3.1",
|
|
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
|
|
"baseScore": 7.8,
|
|
"baseSeverity": "HIGH"
|
|
},
|
|
"scenarios": [
|
|
{
|
|
"lang": "en",
|
|
"value": "AV:L - The vulnerable driver op is only reachable through local configuration interfaces — the nl80211 netlink command NL80211_CMD_SET_TX_BITRATE_MASK or the legacy WEXT SIOCSIWRATE ioctl on the wireless netdev. No received 802.11 frame or remote peer action can invoke ath11k_mac_op_set_bitrate_mask(), so the attack surface is local syscall/netlink only.\nAC:L - The atomic-context violation is unconditional: every invocation of the affected branches runs a might_sleep()/wait_event_timeout() callback inside rcu_read_lock(), and the attacker fully controls the bitrate mask that selects those branches. Extending it to an actual block (and thus a grace-period-completing context switch) only requires having peers associated and saturating WMI credits, both of which the attacker can arrange.\nPR:L - Both entry points gate on CAP_NET_ADMIN (GENL_UNS_ADMIN_PERM for nl80211, capable(CAP_NET_ADMIN) for WEXT), which is a namespace-aware network-administration capability rather than real root, and is routinely delegated to unprivileged-facing daemons (wpa_supplicant, NetworkManager helpers, hostapd) on phones, APs and embedded gateways.\nUI:N - The attacker performs the bitrate-mask configuration itself; no second user has to open a file, mount media, or take any action for the bug to fire.\nS:U - The fault, the corrupted RCU-protected station list, and the resulting crash all stay within the same kernel security authority on the host; no VM, IOMMU, container, or sandbox boundary is crossed.\nC:H - Blocking for up to WMI_SEND_TIMEOUT_HZ inside the rcu_read_lock() of __iterate_stations() lets the grace period complete on non-preemptible-RCU builds, so a concurrently destroyed sta_info can be freed and reallocated while the iterator is parked on it; the resumed list_for_each_entry_rcu() then reads freed/attacker-groomed heap through sta->addr and the list pointers, leaking that content into the WMI peer command and the ath11k_warn(\"...for STA %pM\") log line.\nI:H - The same use-after-free lets the traversal follow a dangling next pointer into reclaimed, attacker-sprayable memory and feed the resulting garbage into firmware peer-parameter commands, and __schedule_bug() additionally resets the preempt count, leaving the scheduler's atomic-nesting state inconsistent for the remainder of the task.\nA:H - The bug reliably produces a \"BUG: sleeping function called from invalid context\" splat plus a scheduling-while-atomic BUG with full call trace, which escalates to a full panic on panic_on_warn/panic_on_oops kernels common in embedded and cloud images, and the RCU-list use-after-free can oops the kernel outright."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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/ath11k/mac.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "d5c65159f2895379e11ca13f62feabe93278985d",
|
|
"lessThan": "1f45a710c82b29d4c501b1cb472dff68d59ecc8c",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "d5c65159f2895379e11ca13f62feabe93278985d",
|
|
"lessThan": "9c0e3144924c7db701575a73af341d33184afeaf",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "d5c65159f2895379e11ca13f62feabe93278985d",
|
|
"lessThan": "7d4d0db0dc9424de2bdc0b45e919e4892603356f",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "d5c65159f2895379e11ca13f62feabe93278985d",
|
|
"lessThan": "6bdef22d540258ca06f079f7b6ae100669a19b47",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "d5c65159f2895379e11ca13f62feabe93278985d",
|
|
"lessThan": "65c12b104cb942d588a1a093acc4537fb3d3b129",
|
|
"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/ath11k/mac.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "5.6",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "5.6",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.6.160",
|
|
"lessThanOrEqual": "6.6.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.12.42",
|
|
"lessThanOrEqual": "6.12.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.15.10",
|
|
"lessThanOrEqual": "6.15.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.16.1",
|
|
"lessThanOrEqual": "6.16.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.17",
|
|
"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": "5.6",
|
|
"versionEndExcluding": "6.6.160"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "5.6",
|
|
"versionEndExcluding": "6.12.42"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "5.6",
|
|
"versionEndExcluding": "6.15.10"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "5.6",
|
|
"versionEndExcluding": "6.16.1"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "5.6",
|
|
"versionEndExcluding": "6.17"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/1f45a710c82b29d4c501b1cb472dff68d59ecc8c"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/9c0e3144924c7db701575a73af341d33184afeaf"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/7d4d0db0dc9424de2bdc0b45e919e4892603356f"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/6bdef22d540258ca06f079f7b6ae100669a19b47"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/65c12b104cb942d588a1a093acc4537fb3d3b129"
|
|
}
|
|
],
|
|
"title": "wifi: ath11k: fix sleeping-in-atomic in ath11k_mac_op_set_bitrate_mask()",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
},
|
|
"adp": [
|
|
{
|
|
"metrics": [
|
|
{
|
|
"other": {
|
|
"type": "ssvc",
|
|
"content": {
|
|
"id": "CVE-2025-39732",
|
|
"role": "CISA Coordinator",
|
|
"options": [
|
|
{
|
|
"Exploitation": "none"
|
|
},
|
|
{
|
|
"Automatable": "no"
|
|
},
|
|
{
|
|
"Technical Impact": "total"
|
|
}
|
|
],
|
|
"version": "2.0.3",
|
|
"timestamp": "2026-10-15T21:53:50.418566Z"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"title": "CISA ADP Vulnrichment",
|
|
"providerMetadata": {
|
|
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
|
|
"shortName": "CISA-ADP",
|
|
"dateUpdated": "2026-10-15T22:02:31.225Z"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
} |