PatchSiren

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.