Files
vuln-cve/data/2021/47xxx/CVE-2021-47012.json
T

275 lines
13 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-2021-47012",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-02-27T18:42:55.953Z",
"datePublished": "2024-02-28T08:13:30.284Z",
"dateUpdated": "2026-08-05T08:45:33.281Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:45:33.281Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRDMA/siw: Fix a use after free in siw_alloc_mr\n\nOur code analyzer reported a UAF.\n\nIn siw_alloc_mr(), it calls siw_mr_add_mem(mr,..). In the implementation of\nsiw_mr_add_mem(), mem is assigned to mr->mem and then mem is freed via\nkfree(mem) if xa_alloc_cyclic() failed. Here, mr->mem still point to a\nfreed object. After, the execution continue up to the err_out branch of\nsiw_alloc_mr, and the freed mr->mem is used in siw_mr_drop_mem(mr).\n\nMy patch moves \"mr->mem = mem\" behind the if (xa_alloc_cyclic(..)<0) {}\nsection, to avoid the uaf."
}
],
"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 bug is reached via local RDMA verbs (REG_MR/alloc_mr) through /dev/infiniband/uverbs*, not by processing remote iWARP packets; a local process must issue the memory-registration syscall path.\nAC:L - An unprivileged attacker can reliably drive xa_alloc_cyclic() failure via memory pressure (GFP_KERNEL), then hit the deterministic UAF/double-free on the err_out path with no race outside their control.\nPR:L - uverbs nodes are created mode 0666 and REG_MR requires no capability; once a SIW device exists, a normal local user can open it and trigger the vulnerable path.\nUI:N - Exploitation needs no victim action beyond the attacker’s own verbs calls on an already-available SIW device.\nS:U - Impact is confined to the local kernel privilege boundary (standard local heap corruption/privilege escalation), with no VM/IOMMU/sandbox escape.\nC:H - Use-after-free of the siw_mem object enables heap reuse and arbitrary kernel memory read primitives per UAF exploitation.\nI:H - The err_out path performs UAF writes and a secondary free via siw_mem_put, yielding classic heap corruption suitable for arbitrary write/control-flow hijack.\nA:H - The UAF/double-free reliably causes kernel oops/panic (and WARN_ON in xa_erase) even without full exploitation."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/infiniband/sw/siw/siw_mem.c"
],
"versions": [
{
"version": "2251334dcac9eb337575d8767e2a6a7e81848f7f",
"lessThan": "30b9e92d0b5e5d5dc1101ab856c17009537cbca4",
"status": "affected",
"versionType": "git"
},
{
"version": "2251334dcac9eb337575d8767e2a6a7e81848f7f",
"lessThan": "608a4b90ece039940e9425ee2b39c8beff27e00c",
"status": "affected",
"versionType": "git"
},
{
"version": "2251334dcac9eb337575d8767e2a6a7e81848f7f",
"lessThan": "3e22b88e02c194f6c80867abfef5cc09383461f4",
"status": "affected",
"versionType": "git"
},
{
"version": "2251334dcac9eb337575d8767e2a6a7e81848f7f",
"lessThan": "ad9ce7188432650469a6c7625bf479f5ed0b6155",
"status": "affected",
"versionType": "git"
},
{
"version": "2251334dcac9eb337575d8767e2a6a7e81848f7f",
"lessThan": "3093ee182f01689b89e9f8797b321603e5de4f63",
"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/infiniband/sw/siw/siw_mem.c"
],
"versions": [
{
"version": "5.3",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.3",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.119",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.37",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.11.21",
"lessThanOrEqual": "5.11.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.12.4",
"lessThanOrEqual": "5.12.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.13",
"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.3",
"versionEndExcluding": "5.4.119"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "5.10.37"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "5.11.21"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "5.12.4"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "5.3",
"versionEndExcluding": "5.13"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/30b9e92d0b5e5d5dc1101ab856c17009537cbca4"
},
{
"url": "https://git.kernel.org/stable/c/608a4b90ece039940e9425ee2b39c8beff27e00c"
},
{
"url": "https://git.kernel.org/stable/c/3e22b88e02c194f6c80867abfef5cc09383461f4"
},
{
"url": "https://git.kernel.org/stable/c/ad9ce7188432650469a6c7625bf479f5ed0b6155"
},
{
"url": "https://git.kernel.org/stable/c/3093ee182f01689b89e9f8797b321603e5de4f63"
}
],
"title": "RDMA/siw: Fix a use after free in siw_alloc_mr",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"title": "CISA ADP Vulnrichment",
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2021-47012",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-02-28T20:34:17.324799Z"
}
}
}
],
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-06-04T17:13:27.028Z"
}
},
{
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2024-08-04T05:24:39.841Z"
},
"title": "CVE Program Container",
"references": [
{
"url": "https://git.kernel.org/stable/c/30b9e92d0b5e5d5dc1101ab856c17009537cbca4",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/608a4b90ece039940e9425ee2b39c8beff27e00c",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/3e22b88e02c194f6c80867abfef5cc09383461f4",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/ad9ce7188432650469a6c7625bf479f5ed0b6155",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/3093ee182f01689b89e9f8797b321603e5de4f63",
"tags": [
"x_transferred"
]
}
]
}
]
}
}