CVE-2026-53226: Linux Rockchip GPIO Driver IRQ Leak and Use-After-Free
A flaw in the Linux kernel's Rockchip GPIO driver causes memory and resource leaks when the driver is unloaded. Specifically, interrupt-handling structures allocated during driver initialization are not properly freed during removal. These orphaned structures remain registered globally and can be accessed by system callbacks after the hardware driver has already shut down, risking a crash. The fix requires explicitly cleaning up these structures before the driver fully unloads.
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-18
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: gpio: rockchip: fix generic IRQ chip leak on remove The driver allocates domain generic chips using irq_alloc_domain_generic_chips() during probe. However, on driver remove/teardown, the generic chips are not automatically freed when the IRQ domain is removed because the domain flags do not include IRQ_DOMAIN_FLAG_DESTROY_GC. This causes both the domain generic chips structure and the associated generic chips to be leaked. Additionally, the generic chips remain on the global gc_list and may later be visited by generic IRQ chip suspend, resume, or shutdown callbacks after the GPIO bank has been removed, potentially resulting in a use-after-free and kernel crash. Fix the resource leak by explicitly calling irq_domain_remove_generic_chips() before removing the IRQ domain in rockchip_gpio_remove().
4 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-53226 is a resource leak and potential use-after-free vulnerability in the Rockchip GPIO driver (gpio/rockchip) in the Linux kernel. During driver probe, the code allocates domain generic chips via irq_alloc_domain_generic_chips(). However, the IRQ domain is created without the IRQ_DOMAIN_FLAG_DESTROY_GC flag, which means the generic chip structures are not automatically freed when the domain is torn down. This causes two problems: (1) a persistent memory leak of the domain generic chips structure and associated chip objects, and (2) orphaned generic chips remain on the global gc_list and remain callable by generic IRQ suspend, resume, and shutdown callbacks even after the GPIO bank hardware has been removed. This can trigger a use-after-free condition and kernel panic. The remediation is to call irq_domain_remove_generic_chips() explicitly in rockchip_gpio_remove() before removing the IRQ domain.
Business impact
Systems running affected Linux kernel versions with Rockchip GPIO hardware will experience kernel memory leaks over time as the GPIO driver is loaded and unloaded (common during driver updates, hot-plug events, or system troubleshooting). Sustained memory pressure can degrade system performance. More critically, the use-after-free risk means an unexpected kernel crash is possible during system suspend/resume cycles or GPIO driver reloads, potentially causing service interruptions or data loss in systems relying on continuous operation.
Affected systems
The vulnerability affects the Linux kernel across multiple versions. Rockchip-based systems—including various ARM SoCs used in mobile devices, single-board computers, and embedded systems—are in scope. Any system that loads and unloads the Rockchip GPIO driver is vulnerable to the memory leak; systems that perform suspend/resume cycles or dynamic driver management face elevated risk of the use-after-free crash.
Exploitability
This is not a vulnerability that can be exploited remotely or by unprivileged users to gain unauthorized access. It requires local system access and the ability to trigger driver removal (e.g., via module unload, device hot-removal, or system suspend). The crash and memory exhaustion impact is local to the affected system. No public exploit code is known, and the vulnerability is a resource management bug rather than a logic flaw that enables privilege escalation or data theft.
Remediation
Apply a kernel update that includes the fix for the Rockchip GPIO driver. The remediation adds an explicit call to irq_domain_remove_generic_chips() in the rockchip_gpio_remove() function to ensure proper cleanup of allocated interrupt domain structures before domain removal. Verify the specific patch version against your Linux distribution's advisory, as backports and release timing vary.
Patch guidance
Identify your Linux kernel version and Rockchip platform. Check with your distribution (Red Hat, Canonical, etc.) or the Linux kernel security advisory for the patched kernel version that includes the fix to gpio/rockchip. Kernel updates should be applied during a maintenance window that allows for system restart. After patching, monitor system logs for any error messages related to GPIO or IRQ domain operations.
Detection guidance
Proactively monitor kernel memory usage and leaked memory statistics for Rockchip GPIO systems, particularly after driver reload or suspend/resume cycles. Enable kernel memory debugging (CONFIG_DEBUG_KMEMLEAK) in test environments to detect resource leaks. Watch system logs (dmesg) for warnings or panics tied to generic IRQ chip operations. If available, use perf or systemtap to instrument driver removal paths and confirm cleanup functions are called. Detection of active exploitation is difficult without intrusive instrumentation; focus on timely patching.
Why prioritize this
CVSS 5.5 (MEDIUM) reflects local access requirement and absence of remote exploitability, but the use-after-free and kernel panic risk makes this important for systems that rely on continuous uptime. Rockchip GPIO hardware is common in embedded and mobile platforms; prioritize Rockchip-based servers and critical embedded systems for prompt patching. The memory leak aspect is a lower-priority concern unless the system is memory-constrained.
Risk score, explained
The CVSS 3.1 score of 5.5 (MEDIUM, vector AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) reflects: local attack vector (no remote exploitation), low complexity to trigger (unload or suspend), low privilege required (user-level driver unload in some configurations), no user interaction, and high availability impact (crash). The vulnerability does not compromise confidentiality or integrity, only availability and system stability.
Frequently asked questions
Can this vulnerability be exploited remotely or over the network?
No. This is a local resource management flaw that requires the ability to trigger driver unload, hot-remove, or suspend/resume on a system with Rockchip GPIO hardware. Remote attackers cannot exploit it.
Is this only a memory leak or is there real crash risk?
While the primary issue is a memory leak, the use-after-free aspect is serious. When IRQ suspend, resume, or shutdown callbacks execute after the GPIO driver has been removed, they can reference freed memory, causing a kernel panic. Suspend/resume cycles are common, so crash risk is material on affected systems.
Do I need to patch if my system is not Rockchip-based?
No. This flaw is specific to the Rockchip GPIO driver. Systems without Rockchip GPIO hardware (e.g., x86 servers, non-Rockchip ARM devices) are not affected and do not require this patch.
What should I monitor after patching?
After applying the kernel update, verify that your system boots cleanly and suspend/resume cycles complete without errors. Check kernel logs (dmesg) for any warnings related to GPIO or IRQ domain operations. If you had previously observed memory growth or crashes, those symptoms should resolve.
This analysis is provided for informational purposes and does not constitute professional security advice. No guarantee is made regarding the accuracy or completeness of information herein. Organizations should verify all patch versions, affected product lists, and vendor advisories directly with upstream sources (kernel.org, Linux distribution vendors) before implementing changes. Testing in non-production environments is strongly recommended. SEC.co and its authors assume no liability for decisions made based on this content. 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