irqchip/renesas-irqc: Fix generic interrupt chip leak on remove
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.157, 6.12.110, 6.18.52, 7.2.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: irqchip/renesas-irqc: Fix generic interrupt chip leak on remove The driver allocates domain generic chips probe. However, on driver removal, the generic chips are not automatically freed when the interrupt 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 list and may later be accessed by generic interrupt chip suspend, resume, or shutdown callbacks after the driver has been removed, potentially resulting in a use-after-free and kernel crash. Fix the resource leak by setting IRQ_DOMAIN_FLAG_DESTROY_GC on the interrupt domain; this lets the interrupt domain core automatically release all generic chips when irq_domain_remove() is invoked, removing the need for manual cleanup calls in error paths and remove callback.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 99c221df33fbfa1b30e15dee879eb0a9ae1be353 · fixed in 3d39757ef791f90028da9c8b7c1fbbb497237e58; From 99c221df33fbfa1b30e15dee879eb0a9ae1be353 · fixed in 4bf7614d048434326081eef0ebef33cb77fe2ffc; From 99c221df33fbfa1b30e15dee879eb0a9ae1be353 · fixed in 9acc996cb2e8477ae81bd7c067fec15202d6bc89; From 99c221df33fbfa1b30e15dee879eb0a9ae1be353 · fixed in 7c614f83301d464e2fb498d63552490d137ea10d; From 99c221df33fbfa1b30e15dee879eb0a9ae1be353 · fixed in 616dd89d81ad9a3cf1cfff4088a4c43e4e00d6ba
- Linux Linux
4.4
- KernelLinux
From 4.4.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6