PatchSiren cyber security CVE debrief
CVE-2026-45853 Linux CVE debrief
A memory corruption vulnerability in the Linux kernel's AMDGPU DRM driver has been resolved. The issue occurred in `amdgpu_gmc_get_nps_memranges()` where memory allocated via `kvcalloc()` (which may use `vmalloc()` for large allocations) was incorrectly freed using `kfree()` instead of `kvfree()`. This mismatch leads to memory corruption when `vmalloc()` is used internally. The fix replaces `kfree()` with `kvfree()` to safely handle both `kmalloc` and `vmalloc` allocations. The vulnerability was identified through a prototype static analysis tool and code review, with compile testing performed. No CVSS score or severity has been assigned as of the CVE publication date.
- Vendor
- Linux
- Product
- Unknown
- CVSS
- HIGH 7.8
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-05-27
- Original CVE updated
- 2026-06-25
- Advisory published
- 2026-05-27
- Advisory updated
- 2026-06-25
Who should care
Linux system administrators running kernels with AMDGPU drivers, particularly on systems with NPS memory configurations; security teams tracking kernel-level memory safety issues; organizations using AMD GPUs in Linux environments for compute or graphics workloads
Technical summary
The vulnerability exists in `amdgpu_gmc_get_nps_memranges()` within the AMDGPU DRM driver. The function `amdgpu_discovery_get_nps_info()` allocates memory for NPS (Non-Uniform Memory Access Per-Socket) memory ranges using `kvcalloc()`, which internally may use `vmalloc()` for large allocations. The original code used `kfree()` to release this memory, which is incorrect when `vmalloc()` was used—`kfree()` must only be used with `kmalloc()` allocations, while `vmalloc()` allocations require `vfree()` or the generic `kvfree()`. Using `kfree()` on `vmalloc()` memory causes memory corruption. The fix replaces `kfree()` with `kvfree()`, which safely handles both allocation types.
Defensive priority
medium
Recommended defensive actions
- Review kernel configurations to identify systems using AMDGPU drivers with NPS (Non-Uniform Memory Access Per-Socket) memory configurations
- Apply kernel updates containing the fix commits when available from your Linux distribution
- Monitor stable kernel release announcements for backported fixes to currently deployed kernel versions
- Consider enabling kernel memory debugging options (CONFIG_DEBUG_VM, CONFIG_DEBUG_SLAB) in test environments to detect similar allocation/free mismatches
- Audit custom kernel modules or out-of-tree drivers for similar patterns of kvcalloc/kvfree mismatches
Evidence notes
The vulnerability description indicates the issue was found using a prototype static analysis tool and code review, with compile testing only. No runtime exploitation testing or proof-of-concept is mentioned. The fix has been applied to multiple stable kernel branches as evidenced by four separate git.kernel.org commits.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-45853 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-45853
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-45853 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-45853
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/0c44d61945c4a80775292d96460aa2f22e62f86c
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/16e7e7ad8cdc6b4c4af7f31e262f1494c1b2a55e
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/9ae85b0c1909b6c6bfd2636b04cdaf7f520bf2b5
416baaa9-dc9f-4396-8d5f-8c081fb06d67
-
Source reference
Unverified legacy reference
URL: https://git.kernel.org/stable/c/f441538893eba6347b983f2904819ca6c99da65e
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.