net: cdc_eem: fix tx fixup skb leak in Kernel
Summary
GSD-2021-1001071: net: cdc_eem: fix tx fixup skb leak. Affects Kernel versions >= 9f722c0978b04acba209f8ca1896ad05814bc3a3, < b4f7a9fc9d094c0c4a66f2ad7c37b1dbe9e78f88. 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
The Kernel is a critical component of the Linux operating system that provides core functionality and interfaces with hardware devices. It manages system resources, facilitates communication between software and hardware, and ensures the stability and security of the system. The cdc_eem module in the Kernel is responsible for supporting the Communication Device Class (CDC) Ethernet Emulation Model (EEM) for USB devices. This module allows USB devices to emulate Ethernet interfaces, enabling network connectivity. However, a vulnerability has been discovered in the cdc_eem module that can lead to a memory leak when fixing transmit (tx) packets. This vulnerability can potentially be exploited by an attacker to exhaust system resources and cause a denial-of-service (DoS) condition.
Vulnerability Detail
The vulnerability in the cdc_eem module arises from a memory leak issue during the fixup of transmit (tx) packets. When processing certain packets, the module fails to release the associated socket buffer (skb) memory, leading to a gradual accumulation of leaked memory. This can result in the exhaustion of system resources, causing performance degradation or a complete system failure. An attacker could potentially exploit this vulnerability by sending a large number of specially crafted packets, leading to a DoS condition. The vulnerability was introduced in version v2.6.30 of the Kernel and has been fixed in version v5.12.13.
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
As a temporary workaround, users can disable the cdc_eem module if it is not required for their system. This can be done by blacklisting the module or preventing it from being loaded during system startup. However, this workaround may result in the loss of functionality for USB devices that rely on the cdc_eem module for Ethernet emulation.
Conclusion
The cdc_eem module in the Linux Kernel is vulnerable to a memory leak issue during the fixup of transmit (tx) packets. This vulnerability can be exploited by an attacker to exhaust system resources and cause a denial-of-service (DoS) condition. To mitigate this risk, it is crucial to update the Kernel to version v5.12.13 or later. Users can also consider temporarily disabling the cdc_eem module as a workaround, although this may result in the loss of functionality for USB devices relying on Ethernet emulation. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The cdc_eem module is a component of the Linux Kernel that enables USB devices to emulate Ethernet interfaces using the Communication Device Class (CDC) Ethernet Emulation Model (EEM). It allows USB devices to establish network connectivity and communicate with other devices over Ethernet.
A memory leak occurs when a program or module fails to release allocated memory after it is no longer needed. This can lead to a gradual accumulation of unused memory, eventually exhausting system resources and causing performance issues or system failures.
A denial-of-service (DoS) attack is a malicious act aimed at disrupting the normal functioning of a computer system or network. It involves overwhelming the target system with a large volume of requests or exploiting vulnerabilities to exhaust system resources, rendering the system unresponsive or unavailable to legitimate users.
An attacker can exploit this vulnerability by sending a large number of specially crafted packets to a system with the vulnerable cdc_eem module. As the module fails to release the associated socket buffer (skb) memory, the attacker can gradually exhaust system resources, leading to a denial-of-service (DoS) condition.
Yes, this vulnerability has been fixed in version v5.12.13 of the Linux Kernel. It is recommended to update to this version or a later one to mitigate the risk of exploitation.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.