CVE-2024-35945: linux-libc-dev - Prevent nullptr exceptions on ISR
Summary
CVE-2024-35945: In the Linux kernel, the following vulnerability has been resolved: net: phy: phy_device: Prevent nullptr exceptions on ISR If phydev->irq is set unconditionally, check for valid interrupt handler or fall back to polling... Affects linux versions 5.10.103-1 – 6.9.9-1. No fix is published. How to fix ↓
Check if this vulnerability affects your application
Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.
No signup required · Results in about 60 seconds
Background
linux-libc-dev is a package in the Debian operating system that provides the C library headers for the Linux kernel. These headers are necessary for compiling and building applications that interact with the kernel. The linux-libc-dev package is an essential component for developers working on Debian-based systems. However, a vulnerability has been discovered in the package that could lead to nullptr exceptions in the interrupt service routine (ISR) of the network physical layer (phy) device.
Vulnerability Detail
The vulnerability in linux-libc-dev arises from the lack of proper checks for a valid interrupt handler in the phy_device structure. If the phydev->irq is set unconditionally without verifying the presence of a valid interrupt handler, it can result in nullptr exceptions during the ISR. This vulnerability can be exploited by an attacker to cause a denial-of-service (DoS) condition or potentially execute arbitrary code in the kernel context. The severity of this vulnerability is rated as MEDIUM with a CVSS score of 5.5.
How To Fix
No fixed version is published for this vulnerability.
Tip — Not sure whether your app is affected? Vulert can check the versions your app actually runs. Scan free →
Workaround
If updating the linux-libc-dev package is not immediately feasible, a possible workaround is to disable the use of interrupts for the phy_device. This can be achieved by modifying the code to fall back to polling mode instead of relying on interrupts. Here is an example of how the code can be modified:
if (!phydev->irq) {
// Fallback to polling mode
phydev->state |= PHY_POLL;
}
Conclusion
The linux-libc-dev package in Debian is vulnerable to a nullptr exception issue in the network phy_device interrupt service routine. This vulnerability can lead to a denial-of-service condition or potential execution of arbitrary code in the kernel context. It is crucial to update the linux-libc-dev package to a fixed version or apply the provided workaround to mitigate the risk. For further support on vulnerability remediation, contact DevNack.com.
See every vulnerability recorded for linux →
FAQ
linux-libc-dev is a package in the Debian operating system that provides the C library headers for the Linux kernel. It is essential for compiling and building applications that interact with the kernel.
The vulnerability in linux-libc-dev can lead to nullptr exceptions in the interrupt service routine (ISR) of the network physical layer (phy) device. This can result in a denial-of-service (DoS) condition or potential execution of arbitrary code in the kernel context.
The severity of this vulnerability is rated as MEDIUM with a CVSS score of 5.5.
To fix this vulnerability, it is recommended to update the linux-libc-dev package to a version that includes the patch addressing the issue. Instructions for updating the package can be found in the Debian Security Tracker.
If updating the linux-libc-dev package is not immediately feasible, a possible workaround is to modify the code to fall back to polling mode instead of using interrupts. This can be achieved by checking if phydev->irq is set and, if not, enabling polling mode.
Related vulnerabilities
Recent vulnerabilities recorded for linux.