CVE-2025-37819: irqchip/gic-v2m: Prevent use after free of gicv2m_get_fwnode()
In the Linux kernel, the following vulnerability has been resolved:
irqchip/gic-v2m: Prevent use after free of gicv2mgetfwnode()
With ACPI in place, gicv2mgetfwnode() is registered with the pci subsystem as pcimsigetfwnodecb(), which may get invoked at runtime during a PCI host bridge probe. But, the call back is wrongly marked as init, causing it to be freed, while being registered with the PCI subsystem and could trigger:
Unable to handle kernel paging request at virtual address ffff8000816c0400 gicv2mgetfwnode+0x0/0x58 (P) pcisetbusmsidomain+0x74/0x88 pciregisterhostbridge+0x194/0x548
This is easily reproducible on a Juno board with ACPI boot.
Retain the function for later use.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1 - Compensating control
Retain gicv2m_get_fwnode() for later use instead of marking it __init, because it is registered as pci_msi_get_fwnode_cb() and may be invoked during a PCI host bridge probe.
Event History
Frequently Asked Questions
What is the severity of CVE-2025-37819?
CVE-2025-37819 is categorized as a moderate severity vulnerability due to its potential for use after free issues in the Linux kernel.
How do I fix CVE-2025-37819?
To address CVE-2025-37819, update the Linux kernel to the latest stable version that contains the patch for this vulnerability.
Which systems are affected by CVE-2025-37819?
CVE-2025-37819 affects the Linux kernel, specifically systems utilizing the irqchip and ACPI configuration.
What are the potential consequences of CVE-2025-37819?
Exploitation of CVE-2025-37819 could lead to stability issues or arbitrary code execution by allowing access to freed memory.
Is CVE-2025-37819 part of a larger vulnerability series?
CVE-2025-37819 addresses a specific issue related to IRQ chip management in the Linux kernel, but it is not part of a known series.