7.8

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 gicv2m_get_fwnode()

With ACPI in place, gicv2m_get_fwnode() is registered with the pci
subsystem as pci_msi_get_fwnode_cb(), 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
  gicv2m_get_fwnode+0x0/0x58 (P)
  pci_set_bus_msi_domain+0x74/0x88
  pci_register_host_bridge+0x194/0x548

This is easily reproducible on a Juno board with ACPI boot.

Retain the function for later use.
Daten sind bereitgestellt durch National Vulnerability Database (NVD)
LinuxLinux Kernel Version >= 4.5 < 5.4.294
LinuxLinux Kernel Version >= 5.5 < 5.10.238
LinuxLinux Kernel Version >= 5.11 < 5.15.182
LinuxLinux Kernel Version >= 5.16 < 6.1.138
LinuxLinux Kernel Version >= 6.2 < 6.6.89
LinuxLinux Kernel Version >= 6.7 < 6.12.26
LinuxLinux Kernel Version >= 6.13 < 6.14.5
LinuxLinux Kernel Version6.15 Updaterc1
LinuxLinux Kernel Version6.15 Updaterc2
LinuxLinux Kernel Version6.15 Updaterc3
DebianDebian Linux Version11.0
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.17% 0.07
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
nvd@nist.gov 7.8 1.8 5.9
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CWE-416 Use After Free

The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer.

https://git.kernel.org/stable/c/2f2803e4b5e4df2b08d378deaab78b1681ef9b30
Patch
https://git.kernel.org/stable/c/3939d6f29d34cdb60e3f68b76e39e00a964a1d51
Patch
https://git.kernel.org/stable/c/47bee0081b483b077c7560bc5358ad101f89c8ef
Patch
https://git.kernel.org/stable/c/3318dc299b072a0511d6dfd8367f3304fb6d9827
Patch
https://git.kernel.org/stable/c/dc0d654eb4179b06d3206e4396d072108b9ba082
Patch
https://git.kernel.org/stable/c/f95659affee301464f0d058d528d96b35b452da8
Patch
https://git.kernel.org/stable/c/0c241dedc43a036599757cd08f356253fa3e5014
Patch
https://git.kernel.org/stable/c/b63de43af8d215b0499eac28b2caa4439183efc1
Patch
https://lists.debian.org/debian-lts-announce/2025/10/msg00007.html
Third Party Advisory
Mailing List
https://lists.debian.org/debian-lts-announce/2025/08/msg00010.html
Third Party Advisory
Mailing List