264 lines
14 KiB
JSON
264 lines
14 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2023-53819",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2025-12-08T23:58:35.277Z",
|
|
"datePublished": "2025-12-09T00:01:17.936Z",
|
|
"dateUpdated": "2026-08-05T09:16:12.588Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-08-05T09:16:12.588Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\namdgpu: validate offset_in_bo of drm_amdgpu_gem_va\n\nThis is motivated by OOB access in amdgpu_vm_update_range when\noffset_in_bo+map_size overflows.\n\nv2: keep the validations in amdgpu_vm_bo_map\nv3: add the validations to amdgpu_vm_bo_map/amdgpu_vm_bo_replace_map\n rather than to amdgpu_gem_va_ioctl"
|
|
}
|
|
],
|
|
"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 vulnerability is reached through the `DRM_IOCTL_AMDGPU_GEM_VA` ioctl on a local DRM device node (`/dev/dri/renderD*` or `card*`), requiring local system access. There is no network-facing path to `amdgpu_vm_bo_map()`.\nAC:L - A single ioctl with an attacker-chosen page-aligned `offset_in_bo` near 2^64 deterministically wraps the `offset + size` bounds check; there is no race, no timing window, and no dependence on memory layout the attacker cannot influence. The OOB index is fully attacker-controlled, so the target of the wild access can be aimed rather than guessed.\nPR:L - The ioctl is registered `DRM_AUTH|DRM_RENDER_ALLOW`, so any unprivileged local user with access to the render node can invoke it — this includes members of the render/video group, any user with a logind graphical session, containers with GPU passthrough, and sandboxed processes such as browser GPU processes. No root or capability is required.\nUI:N - The attacker performs GEM object creation and the malicious `AMDGPU_VA_OP_MAP`/`AMDGPU_VA_OP_REPLACE` ioctl entirely on its own; no victim action or cooperation is needed.\nS:U - The vulnerable amdgpu driver code and the corrupted kernel memory are within the same security authority (the host kernel). This is standard local kernel compromise rather than a VM or IOMMU boundary escape.\nC:H - The overflowed offset produces an OOB read `pages_addr[cursor.start >> PAGE_SHIFT]` at an attacker-chosen index spanning up to 2^55 bytes past the DMA-address array, and the value read becomes the physical address in a GPU page table entry, letting the attacker's GPU context read arbitrary physical memory. The TT node-walk path additionally performs unbounded OOB reads of kernel heap data.\nI:H - Because the OOB-read value is installed as a GPU PTE physical address, the attacker's own GPU commands gain DMA write access to arbitrary physical memory, giving a full arbitrary-write primitive suitable for kernel code/credential modification. Attacker-controlled page table entries also corrupt the VM state itself.\nA:H - The same input reliably produces kernel crashes — wild pointer dereference in the `node++` mm_nodes walk, a reachable `BUG_ON(start + size > res->size)`, and an effectively unbounded VRAM block-walk loop executed while holding `vm->eviction_lock` with BOs reserved, causing a soft lockup/hang. Any of these panics or wedges the GPU and the system."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"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_vm.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "82aace80cfaab778245bd2f9e31b67953725e4d0",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "d83c337e654d58d3edd15a2ae76e87dc601c07d9",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "968e27fd037ec4732068820a9b9836eccc0e0a12",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "4300a47e4017c9febb60ffa7d39723eeaed00f2b",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "b10db1d2137415e5e7f9706d96cfe77539c499d4",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "f015aadc0d973047f49526a127e900c488d4e425",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "bc6dbf34dc4fb639522f3e8e66ef05997c0441ee",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "9f7eb5367d0001536c361bd1400e14521f854ff1",
|
|
"lessThan": "9f0bcf49e9895cb005d78b33a5eebfa11711b425",
|
|
"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_vm.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "4.2",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "4.2",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "4.19.313",
|
|
"lessThanOrEqual": "4.19.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.4.275",
|
|
"lessThanOrEqual": "5.4.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.10.188",
|
|
"lessThanOrEqual": "5.10.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.15.121",
|
|
"lessThanOrEqual": "5.15.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.1.39",
|
|
"lessThanOrEqual": "6.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.3.13",
|
|
"lessThanOrEqual": "6.3.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.4.4",
|
|
"lessThanOrEqual": "6.4.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.5",
|
|
"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.19.313"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.2",
|
|
"versionEndExcluding": "5.4.275"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.2",
|
|
"versionEndExcluding": "5.10.188"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.2",
|
|
"versionEndExcluding": "5.15.121"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.2",
|
|
"versionEndExcluding": "6.1.39"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.2",
|
|
"versionEndExcluding": "6.3.13"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.2",
|
|
"versionEndExcluding": "6.4.4"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "4.2",
|
|
"versionEndExcluding": "6.5"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/82aace80cfaab778245bd2f9e31b67953725e4d0"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/d83c337e654d58d3edd15a2ae76e87dc601c07d9"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/968e27fd037ec4732068820a9b9836eccc0e0a12"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/4300a47e4017c9febb60ffa7d39723eeaed00f2b"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/b10db1d2137415e5e7f9706d96cfe77539c499d4"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/f015aadc0d973047f49526a127e900c488d4e425"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/bc6dbf34dc4fb639522f3e8e66ef05997c0441ee"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/9f0bcf49e9895cb005d78b33a5eebfa11711b425"
|
|
}
|
|
],
|
|
"title": "amdgpu: validate offset_in_bo of drm_amdgpu_gem_va",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |