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

331 lines
16 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-47248",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-04-10T18:59:19.536Z",
"datePublished": "2024-05-21T14:19:45.588Z",
"dateUpdated": "2026-08-05T08:46:58.552Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:46:58.552Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nudp: fix race between close() and udp_abort()\n\nKaustubh reported and diagnosed a panic in udp_lib_lookup().\nThe root cause is udp_abort() racing with close(). Both\nracing functions acquire the socket lock, but udp{v6}_destroy_sock()\nrelease it before performing destructive actions.\n\nWe can't easily extend the socket lock scope to avoid the race,\ninstead use the SOCK_DEAD flag to prevent udp_abort from doing\nany action when the critical race happens.\n\nDiagnosed-and-tested-by: Kaustubh Pandey <kapandey@codeaurora.org>"
}
],
"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 - Exploitation requires local netlink SOCK_DESTROY (inet_diag) plus close() on a UDP socket; the vulnerable path is not reachable from received network packets alone.\nAC:L - The attacker controls both sides of the race by concurrently calling close() and issuing SOCK_DESTROY on a UDP socket they create (e.g., bind to INADDR_ANY with an explicit port so __udp_disconnect triggers udp_lib_rehash).\nPR:L - sock_diag_destroy requires CAP_NET_ADMIN in the socket’s network namespace user_ns, which an unprivileged process obtains via user+net namespaces (unshare -Urn); it does not require init-namespace root.\nUI:N - No victim action is required; the attacker triggers both close() and SOCK_DESTROY themselves.\nS:U - Impact is confined to the local kernel’s UDP socket/hash state and does not cross a VM, IOMMU, or other security authority boundary.\nC:H - The race is a confirmed use-after-free: the socket can be rehashed then freed, leaving a dangling udp_portaddr_node that lookups dereference, which can be leveraged for arbitrary kernel read primitives.\nI:H - The same UAF/hash-list corruption enables heap reuse and control of the freed sock object, supporting arbitrary write and control-flow hijacking in the kernel.\nA:H - The bug manifests as a kernel panic/oops in udp4_lib_lookup2 when the dangling hash node is walked, fully disrupting system availability."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"net/ipv4/udp.c",
"net/ipv6/udp.c"
],
"versions": [
{
"version": "5d77dca82839ef016a93ad7acd7058b14d967752",
"lessThan": "e3c36c773aed0fef8b1d3d555b43393ec564400f",
"status": "affected",
"versionType": "git"
},
{
"version": "5d77dca82839ef016a93ad7acd7058b14d967752",
"lessThan": "a0882f68f54f7a8b6308261acee9bd4faab5a69e",
"status": "affected",
"versionType": "git"
},
{
"version": "5d77dca82839ef016a93ad7acd7058b14d967752",
"lessThan": "2f73448041bd0682d4b552cfd314ace66107f1ad",
"status": "affected",
"versionType": "git"
},
{
"version": "5d77dca82839ef016a93ad7acd7058b14d967752",
"lessThan": "5a88477c1c85e4baa51e91f2d40f2166235daa56",
"status": "affected",
"versionType": "git"
},
{
"version": "5d77dca82839ef016a93ad7acd7058b14d967752",
"lessThan": "8729ec8a2238152a4afc212a331a6cd2c61aeeac",
"status": "affected",
"versionType": "git"
},
{
"version": "5d77dca82839ef016a93ad7acd7058b14d967752",
"lessThan": "65310b0aff86980a011c7c7bfa487a333d4ca241",
"status": "affected",
"versionType": "git"
},
{
"version": "5d77dca82839ef016a93ad7acd7058b14d967752",
"lessThan": "a8b897c7bcd47f4147d066e22cc01d1026d7640e",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"net/ipv4/udp.c",
"net/ipv6/udp.c"
],
"versions": [
{
"version": "4.9",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.9",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.9.274",
"lessThanOrEqual": "4.9.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.14.238",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.19.196",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.128",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.46",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.12.13",
"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": "4.9",
"versionEndExcluding": "4.9.274"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.9",
"versionEndExcluding": "4.14.238"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.9",
"versionEndExcluding": "4.19.196"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.9",
"versionEndExcluding": "5.4.128"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.9",
"versionEndExcluding": "5.10.46"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.9",
"versionEndExcluding": "5.12.13"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.9",
"versionEndExcluding": "5.13"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/e3c36c773aed0fef8b1d3d555b43393ec564400f"
},
{
"url": "https://git.kernel.org/stable/c/a0882f68f54f7a8b6308261acee9bd4faab5a69e"
},
{
"url": "https://git.kernel.org/stable/c/2f73448041bd0682d4b552cfd314ace66107f1ad"
},
{
"url": "https://git.kernel.org/stable/c/5a88477c1c85e4baa51e91f2d40f2166235daa56"
},
{
"url": "https://git.kernel.org/stable/c/8729ec8a2238152a4afc212a331a6cd2c61aeeac"
},
{
"url": "https://git.kernel.org/stable/c/65310b0aff86980a011c7c7bfa487a333d4ca241"
},
{
"url": "https://git.kernel.org/stable/c/a8b897c7bcd47f4147d066e22cc01d1026d7640e"
}
],
"title": "udp: fix race between close() and udp_abort()",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"title": "CISA ADP Vulnrichment",
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2021-47248",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-05-23T18:04:43.420239Z"
}
}
}
],
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-06-04T17:13:24.395Z"
}
},
{
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2024-08-04T05:32:07.937Z"
},
"title": "CVE Program Container",
"references": [
{
"url": "https://git.kernel.org/stable/c/e3c36c773aed0fef8b1d3d555b43393ec564400f",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/a0882f68f54f7a8b6308261acee9bd4faab5a69e",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/2f73448041bd0682d4b552cfd314ace66107f1ad",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/5a88477c1c85e4baa51e91f2d40f2166235daa56",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/8729ec8a2238152a4afc212a331a6cd2c61aeeac",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/65310b0aff86980a011c7c7bfa487a333d4ca241",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/a8b897c7bcd47f4147d066e22cc01d1026d7640e",
"tags": [
"x_transferred"
]
}
]
}
]
}
}