A recent Linux kernel vulnerability has been discovered and fixed, which affected the ARM: dts: bcm2711 xHCI power-domain. The vulnerability was causing crashes in the VPU firmware during s2idle tests on the Raspberry CM4. In this post, we'll be discussing the details of this vulnerability, the cause behind it, the solution that was implemented to fix it, and the code snippets involved.
Exploit Details
During s2idle tests on the Raspberry CM4, the VPU firmware consistently experienced crashes while trying to resume the xHCI power-domain. Here's the log output depicting the crash:
root@raspberrypi:/sys/power# echo freeze > state
[ 70.724347] xhci_suspend finished
[ 70.727730] xhci_plat_suspend finished
[ 70.755624] bcm2835-power bcm2835-power: Power grafx off
[ 70.761127] USB: Set power to
[ 74.653040] USB: Failed to set power to 1 (-110)
The vulnerability seemed to be caused by the mixed usage of both raspberrypi-power and bcm2835-power at the same time. This can prevent the VPU crash.
Code Snippet
To avoid the usage of the VPU firmware power-domain driver, thus preventing the VPU crash, the following patch needs to be applied:
`diff
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
@@ -633,7 +633,6 @@
phandle =;
spi = "/soc/spi@7e204000";
v3dbus;
};
};
Resolution:
The vulnerability in the ARM: dts: bcm2711 xHCI power-domain was resolved by removing the mixed usage of raspberrypi-power and bcm2835-power at the same time. This effectively prevents the VPU firmware from crashing during s2idle tests on the Raspberry CM4.
Original References:
1. The original commit that introduced the fix can be found at this link
2. Further information on the Linux kernel can be found on the official Linux kernel website
3. For more information on s2idle, please refer to this documentation
Conclusion:
The CVE-2025-22011 vulnerability in the Linux kernel ARM: dts: bcm2711 xHCI power-domain has been successfully addressed. Users are encouraged to apply the necessary patch and maintain a high level of security for their systems by ensuring they are using the latest kernel version.
Timeline
Published on: 04/08/2025 09:15:25 UTC
Last modified on: 04/10/2025 13:10:41 UTC