Files
vuln-cve/data/2022/48xxx/CVE-2022-48985.json
T

195 lines
10 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2022-48985",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-08-22T01:27:53.633Z",
"datePublished": "2024-10-21T20:06:01.802Z",
"dateUpdated": "2026-08-05T08:53:15.213Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:53:15.213Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: mana: Fix race on per-CQ variable napi work_done\n\nAfter calling napi_complete_done(), the NAPIF_STATE_SCHED bit may be\ncleared, and another CPU can start napi thread and access per-CQ variable,\ncq->work_done. If the other thread (for example, from busy_poll) sets\nit to a value >= budget, this thread will continue to run when it should\nstop, and cause memory corruption and panic.\n\nTo fix this issue, save the per-CQ work_done variable in a local variable\nbefore napi_complete_done(), so it won't be corrupted by a possible\nconcurrent thread after napi_complete_done().\n\nAlso, add a flag bit to advertise to the NIC firmware: the NAPI work_done\nvariable race is fixed, so the driver is able to reliably support features\nlike busy_poll."
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 9.8,
"baseSeverity": "CRITICAL"
},
"scenarios": [
{
"lang": "en",
"value": "AV:N - The bug is in MANA NAPI CQ polling on packet RX/TX completions; remote peers of internet-facing Azure VMs deliver traffic that raises interrupts and schedules the vulnerable mana_poll path. MANA RX NAPI uses weight 1, so remote packet-driven races after napi_complete_done are a network attack path.\nAC:L - After napi_complete_done clears SCHED, a concurrent NAPI (busy_poll or another CPU’s softirq from further packets) can overwrite cq->work_done; the attacker controls packet rate and can sustain load so the post-complete window is hit reliably. Race guidance treats attacker-influenced concurrent NAPI as AC:L.\nPR:N - Unauthenticated remote traffic to the MANA interface is enough to schedule softirq NAPI and induce the post-complete race; no local account, capabilities, or authentication is required.\nUI:N - Exploitation is driven by packet arrivals and kernel NAPI/softirq processing with no victim user action such as mounting a filesystem or opening a crafted file.\nS:U - Corruption and panic stay inside the guest kernel’s authority on the Azure VM; this is not a VM escape, IOMMU bypass, or other cross-boundary impact.\nC:H - Wrong work_done after complete violates NAPI ownership and enables concurrent CQ polling, double-processing RX buffers, and page/skb UAF-style reuse, which conservatively yields an arbitrary read primitive.\nI:H - The same concurrent CQ/NAPI ownership break causes double dma_unmap/free and heap corruption that can be leveraged for writes and control-flow hijacking, so integrity is High.\nA:H - The fix commit documents memory corruption and panic; NAPI list/state corruption and UAF/oops under concurrent poll produce a full kernel availability loss."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/net/ethernet/microsoft/mana/gdma.h",
"drivers/net/ethernet/microsoft/mana/mana_en.c"
],
"versions": [
{
"version": "e1b5683ff62e7b328317aec08869495992053e9d",
"lessThan": "fe50a9bbeb1f042e756c5cfa7708112c944368de",
"status": "affected",
"versionType": "git"
},
{
"version": "e1b5683ff62e7b328317aec08869495992053e9d",
"lessThan": "6740d8572ccd1bca50d8a1ca2bedc333f50ed5f3",
"status": "affected",
"versionType": "git"
},
{
"version": "e1b5683ff62e7b328317aec08869495992053e9d",
"lessThan": "18010ff776fa42340efc428b3ea6d19b3e7c7b21",
"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/ethernet/microsoft/mana/gdma.h",
"drivers/net/ethernet/microsoft/mana/mana_en.c"
],
"versions": [
{
"version": "5.15",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.15",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.83",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.0.13",
"lessThanOrEqual": "6.0.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.1",
"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.15",
"versionEndExcluding": "5.15.83"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.15",
"versionEndExcluding": "6.0.13"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.15",
"versionEndExcluding": "6.1"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/fe50a9bbeb1f042e756c5cfa7708112c944368de"
},
{
"url": "https://git.kernel.org/stable/c/6740d8572ccd1bca50d8a1ca2bedc333f50ed5f3"
},
{
"url": "https://git.kernel.org/stable/c/18010ff776fa42340efc428b3ea6d19b3e7c7b21"
}
],
"title": "net: mana: Fix race on per-CQ variable napi work_done",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2022-48985",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-10-22T13:17:20.394145Z"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-10-22T13:18:43.146Z"
}
}
]
}
}