CVE-2026-53213: Linux Kernel vc4 DRM Memory Leak Denial of Service
A memory leak vulnerability exists in the Linux kernel's Direct Rendering Manager (DRM) video core (vc4) driver. The issue occurs when the krealloc() function is called to resize allocated memory without properly checking its return value before overwriting the original pointer. If krealloc() fails and returns NULL, the original memory block becomes unreachable and is leaked. An unprivileged local user could trigger this condition repeatedly, exhausting system memory and causing a denial of service.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.5 MEDIUM · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
- Weaknesses (CWE)
- CWE-401
- Affected products
- 8 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-07-02
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: drm/vc4: fix krealloc() memory leak Don't just overwrite the original pointer passed to krealloc() with its return value without checking latter: MEM = krealloc(MEM, SZ, GFP); If krealloc() returns NULL, that erases the pointer to the still allocated memory, hence leaks this memory. Instead, use a temporary variable, check it's not NULL and only then assign it to the original pointer: TMP = krealloc(MEM, SZ, GFP); if (!TMP) return; MEM = TMP; While on it, use krealloc_array().
7 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability is a classic memory leak pattern in the vc4 DRM driver code. When krealloc() is invoked to reallocate memory, the return value is directly assigned to the original pointer without validation. On allocation failure, krealloc() returns NULL while the original block remains allocated but orphaned. The fix implements proper error handling by assigning the krealloc() return value to a temporary variable, checking for NULL, and only then updating the original pointer. Additionally, the patch recommends migrating to krealloc_array() for safer array reallocation semantics.
Business impact
On affected systems, unprivileged local users can repeatedly trigger memory allocation failures in the vc4 driver, gradually exhausting available system memory. This denial-of-service condition degrades performance and may eventually render the system unresponsive. Systems relying on vc4 graphics acceleration (particularly Raspberry Pi and similar platforms) are most susceptible. The impact is localized to availability; there is no confidentiality or integrity risk.
Affected systems
The vulnerability affects the Linux kernel across multiple versions in the vc4 DRM subsystem. Systems using Broadcom VideoCore graphics hardware—particularly Raspberry Pi boards, Pi Compute Modules, and other ARM-based platforms with vc4 driver support—are directly impacted. Any Linux distribution kernel shipping an unpatched version with the vulnerable code path is affected.
Exploitability
Exploitation requires local access and unprivileged user privileges. An attacker with a user account can write a simple program that repeatedly calls kernel functions triggering the krealloc() code path in vc4, causing memory leaks. No special kernel capabilities, hardware manipulation, or user interaction is needed once code execution is achieved. The attack is reliable and straightforward to execute.
Remediation
Apply the latest Linux kernel security update addressing the vc4 krealloc() memory leak. Verify against the vendor advisory for the specific patched kernel version for your distribution. Standard kernel updates from your Linux vendor (Canonical, Red Hat, Debian, Raspberry Pi Foundation, etc.) will include this fix when released. No configuration changes or workarounds are available; kernel patching is the only mitigation.
Patch guidance
Monitor your Linux vendor's security announcements for kernel updates addressing CVE-2026-53213. Test patches in a non-production environment first. For Raspberry Pi users, watch the Raspberry Pi Foundation's security advisories and apply their published kernel updates. For enterprise Linux (RHEL, Ubuntu, Debian), enable automatic security updates or schedule patch windows within your change management process. Verify the patched kernel includes the fix to use safe krealloc() error handling and krealloc_array() where applicable.
Detection guidance
Monitor system memory usage patterns for unexplained, gradual increases in kernel memory consumption. Check kernel logs for memory allocation failures or out-of-memory (OOM) killer events. If using vc4 graphics and observing performance degradation correlating with local user activity, investigate potential exploitation. Memory debugging tools like kmemleak (if enabled in your kernel build) can help identify persistent memory leak patterns attributable to the vc4 driver.
Why prioritize this
This is a MEDIUM severity local denial-of-service vulnerability (CVSS 5.5). While it requires local access and does not threaten confidentiality or integrity, any system allowing unprivileged local users poses a risk. Prioritize patching for: (1) publicly accessible systems where untrusted users can gain shell access, (2) multi-tenant environments, and (3) systems running vc4 that must maintain high availability. Single-user or isolated systems can be deprioritized but should still be patched in regular maintenance windows.
Risk score, explained
The CVSS 3.1 score of 5.5 (MEDIUM) reflects: Attack Vector of Local (user must have shell access), Attack Complexity Low (straightforward to trigger), Privilege Level Low (unprivileged account sufficient), User Interaction None (automatic upon exploitation), and impact limited to Availability (High denial-of-service impact). The score appropriately reflects the local-only attack surface and availability-only impact; widespread risk is constrained by the requirement for pre-existing local access.
Frequently asked questions
Could this vulnerability be exploited remotely?
No. The vulnerability requires local access to the system and an unprivileged user account. It cannot be exploited remotely over a network.
Will this cause data loss or corruption?
No. The vulnerability is a memory leak causing denial of service (system slowdown or crash). User data is not directly compromised, though a system crash could interrupt data operations in progress.
Do I need to patch if my system doesn't use vc4 graphics?
If your Linux kernel was built without vc4 DRM driver support or you use different graphics drivers (e.g., Intel i915, NVIDIA), you are not affected. Check your kernel configuration or driver list to confirm.
What is the difference between krealloc() and krealloc_array()?
krealloc_array() is designed specifically for array reallocation with overflow checking, preventing integer overflow bugs during size calculations. It's a safer alternative when resizing arrays, and the patch recommends using it where applicable in the vc4 code.
This analysis is provided for informational purposes based on available vulnerability data. CVSS scores and vulnerability classifications are subject to change and should be verified against the NIST NVD and official vendor advisories. Patch availability and version numbers should be confirmed directly with your Linux distribution vendor. This explainer does not constitute legal advice or a guarantee of security. Organizations should conduct their own risk assessments and testing before deploying patches in production environments. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-46109MEDIUMLinux Kernel USB ULPI Memory Leak – CVSS 5.5 Medium
- CVE-2026-46141MEDIUMPowerPC XIVE Memory Leak in MSI-X Interrupt Allocation
- CVE-2026-46143MEDIUMLinux QCOM Audio Driver Memory Leak – Availability Risk
- CVE-2026-46147MEDIUMLinux ARM64 KVM vCPU Initialization Pin Leak and Race Condition
- CVE-2026-46151MEDIUMLinux Kernel USB Printer Driver Heap Memory Leak
- CVE-2026-46171MEDIUMLinux RISC-V KVM Vector Context Memory Leak
- CVE-2026-46182MEDIUMLinux Kernel PAPR Hypervisor Pipe Information Disclosure Vulnerability
- CVE-2026-46207MEDIUMLinux vsock/virtio Incomplete Payload Disclosure in Network Monitoring