blob: 585f242a57b8ba3d37e063736d8bd9019aac1e3c [file] [log] [blame]
From bippy-1.2.0 Mon Sep 17 00:00:00 2001
From: Greg Kroah-Hartman <gregkh@kernel.org>
To: <linux-cve-announce@vger.kernel.org>
Reply-to: <cve@kernel.org>, <linux-kernel@vger.kernel.org>
Subject: CVE-2025-37819: irqchip/gic-v2m: Prevent use after free of gicv2m_get_fwnode()
Description
===========
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.
The Linux kernel CVE team has assigned CVE-2025-37819 to this issue.
Affected and fixed versions
===========================
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 5.4.294 with commit 0c241dedc43a036599757cd08f356253fa3e5014
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 5.10.238 with commit b63de43af8d215b0499eac28b2caa4439183efc1
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 5.15.182 with commit f95659affee301464f0d058d528d96b35b452da8
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 6.1.138 with commit dc0d654eb4179b06d3206e4396d072108b9ba082
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 6.6.89 with commit 2f2803e4b5e4df2b08d378deaab78b1681ef9b30
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 6.12.26 with commit 3939d6f29d34cdb60e3f68b76e39e00a964a1d51
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 6.14.5 with commit 47bee0081b483b077c7560bc5358ad101f89c8ef
Issue introduced in 4.5 with commit 0644b3daca28dcb320373ae20069c269c9386304 and fixed in 6.15 with commit 3318dc299b072a0511d6dfd8367f3304fb6d9827
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2025-37819
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/irqchip/irq-gic-v2m.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/0c241dedc43a036599757cd08f356253fa3e5014
https://git.kernel.org/stable/c/b63de43af8d215b0499eac28b2caa4439183efc1
https://git.kernel.org/stable/c/f95659affee301464f0d058d528d96b35b452da8
https://git.kernel.org/stable/c/dc0d654eb4179b06d3206e4396d072108b9ba082
https://git.kernel.org/stable/c/2f2803e4b5e4df2b08d378deaab78b1681ef9b30
https://git.kernel.org/stable/c/3939d6f29d34cdb60e3f68b76e39e00a964a1d51
https://git.kernel.org/stable/c/47bee0081b483b077c7560bc5358ad101f89c8ef
https://git.kernel.org/stable/c/3318dc299b072a0511d6dfd8367f3304fb6d9827