Linux Kernel Renesas USBHS Driver Use-After-Free Vulnerability in Interrupt Service Routine

Vulnerability

A use-after-free vulnerability has been identified in the Renesas USBHS driver of the Linux kernel. This issue arises in the 'usbhs_remove()' function, where the driver deallocates resources, including the pipe array, while the interrupt service routine (ISR) 'usbhs_interrupt' remains registered. If an interrupt occurs after 'usbhs_pipe_remove()' has been called but before the driver has completely unbound, the ISR could access freed memory, leading to a use-after-free condition. The vulnerability affects the Linux kernel stable tree.

Impact

Exploitation of this vulnerability could result in a use-after-free condition, potentially allowing for memory corruption or arbitrary code execution.

Reproduction

To reproduce this vulnerability, load the Renesas USBHS driver and ensure that the 'usbhs_interrupt' handler is registered. Then, trigger a device removal process that invokes 'usbhs_remove()' without first unbinding the driver completely. This will cause the interrupt to fire while the driver is still in the process of being removed, leading to the ISR accessing freed memory.

Remediation

The vulnerability has been addressed by modifying the 'usbhs_remove()' function to call 'devm_free_irq()' before freeing other resources. This change ensures that the interrupt handler is disabled and any ongoing ISR execution is completed before the pipe removal process begins.

Added: May 8, 2026, 8:36 PM
Updated: May 8, 2026, 8:36 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
3.1
exploitability
3.9
remediation
7.7
relevance
7.8
threat
4.8
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.