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

356 lines
18 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-47142",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2024-03-04T18:12:48.842Z",
"datePublished": "2024-03-25T09:07:40.374Z",
"dateUpdated": "2026-08-05T08:46:18.601Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T08:46:18.601Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdgpu: Fix a use-after-free\n\nlooks like we forget to set ttm->sg to NULL.\nHit panic below\n\n[ 1235.844104] general protection fault, probably for non-canonical address 0x6b6b6b6b6b6b7b4b: 0000 [#1] SMP DEBUG_PAGEALLOC NOPTI\n[ 1235.989074] Call Trace:\n[ 1235.991751] sg_free_table+0x17/0x20\n[ 1235.995667] amdgpu_ttm_backend_unbind.cold+0x4d/0xf7 [amdgpu]\n[ 1236.002288] amdgpu_ttm_backend_destroy+0x29/0x130 [amdgpu]\n[ 1236.008464] ttm_tt_destroy+0x1e/0x30 [ttm]\n[ 1236.013066] ttm_bo_cleanup_memtype_use+0x51/0xa0 [ttm]\n[ 1236.018783] ttm_bo_release+0x262/0xa50 [ttm]\n[ 1236.023547] ttm_bo_put+0x82/0xd0 [ttm]\n[ 1236.027766] amdgpu_bo_unref+0x26/0x50 [amdgpu]\n[ 1236.032809] amdgpu_amdkfd_gpuvm_alloc_memory_of_gpu+0x7aa/0xd90 [amdgpu]\n[ 1236.040400] kfd_ioctl_alloc_memory_of_gpu+0xe2/0x330 [amdgpu]\n[ 1236.046912] kfd_ioctl+0x463/0x690 [amdgpu]"
}
],
"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 through local ioctls on /dev/kfd (kfd_ioctl_alloc_memory_of_gpu with KFD_IOC_ALLOC_MEM_FLAGS_USERPTR) or the DRM render-node AMDGPU_GEM_USERPTR path, not via network packet processing.\nAC:L - An unprivileged local attacker can reliably drive the userptr populate/unpopulate/destroy sequence via KFD/DRM ioctls and control concurrent GPU memory operations; no conditions outside attacker influence are required to hit the dangling ttm->sg use.\nPR:L - /dev/kfd and DRM render nodes are mode 0660 group render (with uaccess for seated users); kfd_open and the GEM userptr ioctl perform no capability checks, so a normal unprivileged render-group user can reach the vulnerable code.\nUI:N - Exploitation requires only the attacker’s own ioctl calls against the GPU device nodes; no separate victim action is needed.\nS:U - The vulnerability corrupts kernel memory within the host kernel’s authority and enables local privilege escalation, but does not cross a VM/IOMMU/sandbox boundary.\nC:H - This is a use-after-free of the kmalloc’d sg_table: after kfree(ttm->sg) without NULLing, later unbind reads the freed object, and reclaim/spray of that slab can expose arbitrary kernel memory contents.\nI:H - Use of the reclaimed dangling ttm->sg in sg_free_table() yields an attacker-controlled scatterlist walk/arbitrary free primitive, which is a standard path to arbitrary kernel write and control-flow hijacking.\nA:H - The demonstrated failure is a kernel general protection fault/oops in sg_free_table during amdgpu_ttm_backend_unbind, so availability impact is complete host crash."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c"
],
"versions": [
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "0707c3fea8102d211631ba515ef2159707561b0d",
"status": "affected",
"versionType": "git"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "3293cf3513d69f00c14d43e2020826d45ea0e46a",
"status": "affected",
"versionType": "git"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "952ab3f9f48eb0e8050596d41951cf516be6b122",
"status": "affected",
"versionType": "git"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "a849e218556f932576c0fb1c5a88714b61709a17",
"status": "affected",
"versionType": "git"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "7398c2aab4da960761ec182d04d6d5abbb4a226e",
"status": "affected",
"versionType": "git"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "f98cdf084405333ee2f5be548a91b2d168e49276",
"status": "affected",
"versionType": "git"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "d4ea141fd4b40636a8326df5a377d9c5cf9b3faa",
"status": "affected",
"versionType": "git"
},
{
"version": "d38ceaf99ed015f2a0b9af3499791bd3a3daae21",
"lessThan": "1e5c37385097c35911b0f8a0c67ffd10ee1af9a2",
"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/gpu/drm/amd/amdgpu/amdgpu_ttm.c"
],
"versions": [
{
"version": "4.2",
"status": "affected"
},
{
"version": "0",
"lessThan": "4.2",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.4.271",
"lessThanOrEqual": "4.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.9.271",
"lessThanOrEqual": "4.9.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.14.235",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.19.193",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.124",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.42",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.12.9",
"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.2",
"versionEndExcluding": "4.4.271"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "4.9.271"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "4.14.235"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "4.19.193"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "5.4.124"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "5.10.42"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "5.12.9"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "4.2",
"versionEndExcluding": "5.13"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/0707c3fea8102d211631ba515ef2159707561b0d"
},
{
"url": "https://git.kernel.org/stable/c/3293cf3513d69f00c14d43e2020826d45ea0e46a"
},
{
"url": "https://git.kernel.org/stable/c/952ab3f9f48eb0e8050596d41951cf516be6b122"
},
{
"url": "https://git.kernel.org/stable/c/a849e218556f932576c0fb1c5a88714b61709a17"
},
{
"url": "https://git.kernel.org/stable/c/7398c2aab4da960761ec182d04d6d5abbb4a226e"
},
{
"url": "https://git.kernel.org/stable/c/f98cdf084405333ee2f5be548a91b2d168e49276"
},
{
"url": "https://git.kernel.org/stable/c/d4ea141fd4b40636a8326df5a377d9c5cf9b3faa"
},
{
"url": "https://git.kernel.org/stable/c/1e5c37385097c35911b0f8a0c67ffd10ee1af9a2"
}
],
"title": "drm/amdgpu: Fix a use-after-free",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"providerMetadata": {
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE",
"dateUpdated": "2024-08-04T05:24:39.924Z"
},
"title": "CVE Program Container",
"references": [
{
"url": "https://git.kernel.org/stable/c/0707c3fea8102d211631ba515ef2159707561b0d",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/3293cf3513d69f00c14d43e2020826d45ea0e46a",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/952ab3f9f48eb0e8050596d41951cf516be6b122",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/a849e218556f932576c0fb1c5a88714b61709a17",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/7398c2aab4da960761ec182d04d6d5abbb4a226e",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/f98cdf084405333ee2f5be548a91b2d168e49276",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/d4ea141fd4b40636a8326df5a377d9c5cf9b3faa",
"tags": [
"x_transferred"
]
},
{
"url": "https://git.kernel.org/stable/c/1e5c37385097c35911b0f8a0c67ffd10ee1af9a2",
"tags": [
"x_transferred"
]
}
]
},
{
"metrics": [
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2021-47142",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2024-09-10T15:55:00.553933Z"
}
}
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2024-09-11T17:33:15.288Z"
}
}
]
}
}