291 lines
15 KiB
JSON
291 lines
15 KiB
JSON
{
|
||
"dataType": "CVE_RECORD",
|
||
"dataVersion": "5.2",
|
||
"cveMetadata": {
|
||
"cveId": "CVE-2022-49931",
|
||
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
||
"state": "PUBLISHED",
|
||
"assignerShortName": "Linux",
|
||
"dateReserved": "2025-05-01T14:05:17.254Z",
|
||
"datePublished": "2025-05-01T14:11:08.135Z",
|
||
"dateUpdated": "2026-08-05T08:56:44.963Z"
|
||
},
|
||
"containers": {
|
||
"cna": {
|
||
"providerMetadata": {
|
||
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
||
"shortName": "Linux",
|
||
"dateUpdated": "2026-08-05T08:56:44.963Z"
|
||
},
|
||
"descriptions": [
|
||
{
|
||
"lang": "en",
|
||
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nIB/hfi1: Correctly move list in sc_disable()\n\nCommit 13bac861952a (\"IB/hfi1: Fix abba locking issue with sc_disable()\")\nincorrectly tries to move a list from one list head to another. The\nresult is a kernel crash.\n\nThe crash is triggered when a link goes down and there are waiters for a\nsend to complete. The following signature is seen:\n\n BUG: kernel NULL pointer dereference, address: 0000000000000030\n [...]\n Call Trace:\n sc_disable+0x1ba/0x240 [hfi1]\n pio_freeze+0x3d/0x60 [hfi1]\n handle_freeze+0x27/0x1b0 [hfi1]\n process_one_work+0x1b0/0x380\n ? process_one_work+0x380/0x380\n worker_thread+0x30/0x360\n ? process_one_work+0x380/0x380\n kthread+0xd7/0x100\n ? kthread_complete_and_exit+0x20/0x20\n ret_from_fork+0x1f/0x30\n\nThe fix is to use the correct call to move the list."
|
||
}
|
||
],
|
||
"metrics": [
|
||
{
|
||
"cvssV3_1": {
|
||
"version": "3.1",
|
||
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
|
||
"baseScore": 8.8,
|
||
"baseSeverity": "HIGH"
|
||
},
|
||
"scenarios": [
|
||
{
|
||
"lang": "en",
|
||
"value": "AV:A - The crash path runs from fabric link-down/freeze handling (SubnSet PortInfo → set_link_state → start_freeze_handling → pio_freeze → sc_disable). An adjacent Omni-Path/IB peer or subnet manager can drive that link-down without local login on the victim.\nAC:L - The attacker controls the link-down/MAD side, and under normal RDMA/IPoIB load kernel send contexts commonly have non-empty piowait lists; repeating a fabric bounce makes hitting the buggy sc_disable path reliable.\nPR:N - Triggering via fabric management/link-down requires no credentials on the victim host; when M_Key is unset (common default), SubnSet PortInfo is accepted from the adjacent fabric without local privileges.\nUI:N - No victim user action is required; the adjacent attacker’s link-down/MAD alone exercises the freeze workqueue path.\nS:U - Impact is confined to the host kernel hfi1 driver (oops or heap corruption) and does not cross a VM, IOMMU, or other security-authority boundary.\nC:H - list_move on the list head causes type confusion so iowait_to_qp() reads a fabricated owner pointer from heap memory far past send_context, an out-of-bounds read that can disclose/reclaim kernel data when groomed.\nI:H - The same type confusion feeds list_del_init() and hfi1_qp_wakeup() through the derived qp/priv pointers, yielding classic list-unlink / wild-pointer write and control-flow corruption primitives.\nA:H - The demonstrated outcome is a kernel NULL pointer dereference oops in sc_disable during freeze handling, which can panic the host (panic_on_oops) or otherwise take it down."
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"affected": [
|
||
{
|
||
"product": "Linux",
|
||
"vendor": "Linux",
|
||
"defaultStatus": "unaffected",
|
||
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
||
"programFiles": [
|
||
"drivers/infiniband/hw/hfi1/pio.c"
|
||
],
|
||
"versions": [
|
||
{
|
||
"version": "d997d4e4365f7e59cf6b59c70f966c56d704b64f",
|
||
"lessThan": "25760a41e3802f54aadcc31385543665ab349b8e",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "d98883f6c33e0d960afedcecaa92fc2b61fec383",
|
||
"lessThan": "7c4260f8f188df32414a5ecad63e8b934c2aa3f0",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "13bac861952a78664907a0f927d3e874e9a59034",
|
||
"lessThan": "ba95409d6b580501ff6d78efd00064f7df669926",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "13bac861952a78664907a0f927d3e874e9a59034",
|
||
"lessThan": "b8bcff99b07cc175a6ee12a52db51cdd2229586c",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "13bac861952a78664907a0f927d3e874e9a59034",
|
||
"lessThan": "1afac08b39d85437187bb2a92d89a741b1078f55",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "5d33bd6b4d4d035e42733592899918a18f2540da",
|
||
"status": "affected",
|
||
"versionType": "git"
|
||
},
|
||
{
|
||
"version": "5.4.157",
|
||
"lessThan": "5.4.224",
|
||
"status": "affected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "5.10.77",
|
||
"lessThan": "5.10.154",
|
||
"status": "affected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "5.14.16",
|
||
"lessThan": "5.15",
|
||
"status": "affected",
|
||
"versionType": "semver"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"product": "Linux",
|
||
"vendor": "Linux",
|
||
"defaultStatus": "affected",
|
||
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
||
"programFiles": [
|
||
"drivers/infiniband/hw/hfi1/pio.c"
|
||
],
|
||
"versions": [
|
||
{
|
||
"version": "5.15",
|
||
"status": "affected"
|
||
},
|
||
{
|
||
"version": "0",
|
||
"lessThan": "5.15",
|
||
"status": "unaffected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "5.4.224",
|
||
"lessThanOrEqual": "5.4.*",
|
||
"status": "unaffected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "5.10.154",
|
||
"lessThanOrEqual": "5.10.*",
|
||
"status": "unaffected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "5.15.78",
|
||
"lessThanOrEqual": "5.15.*",
|
||
"status": "unaffected",
|
||
"versionType": "semver"
|
||
},
|
||
{
|
||
"version": "6.0.8",
|
||
"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.4.157",
|
||
"versionEndExcluding": "5.4.224"
|
||
},
|
||
{
|
||
"vulnerable": true,
|
||
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
||
"versionStartIncluding": "5.10.77",
|
||
"versionEndExcluding": "5.10.154"
|
||
},
|
||
{
|
||
"vulnerable": true,
|
||
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
||
"versionStartIncluding": "5.15",
|
||
"versionEndExcluding": "5.15.78"
|
||
},
|
||
{
|
||
"vulnerable": true,
|
||
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
||
"versionStartIncluding": "5.15",
|
||
"versionEndExcluding": "6.0.8"
|
||
},
|
||
{
|
||
"vulnerable": true,
|
||
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
||
"versionStartIncluding": "5.15",
|
||
"versionEndExcluding": "6.1"
|
||
},
|
||
{
|
||
"vulnerable": true,
|
||
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
||
"versionStartIncluding": "5.14.16"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"references": [
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/25760a41e3802f54aadcc31385543665ab349b8e"
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/7c4260f8f188df32414a5ecad63e8b934c2aa3f0"
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/ba95409d6b580501ff6d78efd00064f7df669926"
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/b8bcff99b07cc175a6ee12a52db51cdd2229586c"
|
||
},
|
||
{
|
||
"url": "https://git.kernel.org/stable/c/1afac08b39d85437187bb2a92d89a741b1078f55"
|
||
}
|
||
],
|
||
"title": "IB/hfi1: Correctly move list in sc_disable()",
|
||
"x_generator": {
|
||
"engine": "bippy-1.2.0"
|
||
}
|
||
},
|
||
"adp": [
|
||
{
|
||
"problemTypes": [
|
||
{
|
||
"descriptions": [
|
||
{
|
||
"type": "CWE",
|
||
"cweId": "CWE-476",
|
||
"lang": "en",
|
||
"description": "CWE-476 NULL Pointer Dereference"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"metrics": [
|
||
{
|
||
"cvssV3_1": {
|
||
"scope": "UNCHANGED",
|
||
"version": "3.1",
|
||
"baseScore": 5.5,
|
||
"attackVector": "LOCAL",
|
||
"baseSeverity": "MEDIUM",
|
||
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
|
||
"integrityImpact": "NONE",
|
||
"userInteraction": "NONE",
|
||
"attackComplexity": "LOW",
|
||
"availabilityImpact": "HIGH",
|
||
"privilegesRequired": "LOW",
|
||
"confidentialityImpact": "NONE"
|
||
}
|
||
},
|
||
{
|
||
"other": {
|
||
"type": "ssvc",
|
||
"content": {
|
||
"timestamp": "2025-10-01T14:55:37.542549Z",
|
||
"id": "CVE-2022-49931",
|
||
"options": [
|
||
{
|
||
"Exploitation": "none"
|
||
},
|
||
{
|
||
"Automatable": "no"
|
||
},
|
||
{
|
||
"Technical Impact": "partial"
|
||
}
|
||
],
|
||
"role": "CISA Coordinator",
|
||
"version": "2.0.3"
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"title": "CISA ADP Vulnrichment",
|
||
"providerMetadata": {
|
||
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
|
||
"shortName": "CISA-ADP",
|
||
"dateUpdated": "2025-10-01T14:55:40.268Z"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
} |