net/sched: sch_taprio: properly cancel timer from taprio_destroy() in Linux Kernel
Summary
GSD-2021-1001692: net/sched: sch_taprio: properly cancel timer from taprio_destroy(). Affects Kernel versions >= 44d4775ca51805b376a8db5b34f650434a08e556, < 7a1c1af341041221b3acb9d7036cc2b43e0efa75. 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 Linux Kernel is the core component of the Linux operating system, responsible for managing system resources and providing an interface for applications to interact with the hardware. The sch_taprio module in the kernel is used for implementing the Time-Aware Priority (TAP) scheduling algorithm for network traffic. TAP allows for precise control of packet transmission times, ensuring low latency for critical traffic. However, a vulnerability has been discovered in the sch_taprio module that can lead to a timer not being properly canceled during the destruction of a taprio instance.
Vulnerability Detail
The vulnerability in the sch_taprio module arises from a failure to cancel a timer when a taprio instance is destroyed. This can result in a use-after-free condition, where the timer callback function may still be executed even after the instance has been freed. An attacker who can trigger the destruction of a taprio instance could potentially exploit this vulnerability to execute arbitrary code or cause a denial-of-service condition. The vulnerability was introduced in Linux Kernel version 5.11 and has been fixed in version 5.14.12.
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 workaround, users can disable the sch_taprio module if it is not required for their specific use case. This can be done by blacklisting the module or removing it from the kernel configuration before compiling. However, this workaround should only be considered temporary, as it does not address the underlying vulnerability and may limit the functionality of the system.
Conclusion
The sch_taprio module in the Linux Kernel is vulnerable to a use-after-free condition due to a failure to cancel a timer during instance destruction. This vulnerability can be exploited by an attacker to execute arbitrary code or cause a denial-of-service condition. It is recommended to update the Linux Kernel to version 5.14.12 or later to mitigate this vulnerability. Users can also disable the sch_taprio module as a temporary workaround, but this should not be considered a long-term solution. For further support on vulnerability remediation, please contact DevNack.com.
See every vulnerability recorded for Kernel →
FAQ
The sch_taprio module is a component of the Linux Kernel that implements the Time-Aware Priority (TAP) scheduling algorithm for network traffic. TAP allows for precise control of packet transmission times, ensuring low latency for critical traffic.
An attacker who can trigger the destruction of a taprio instance could potentially exploit this vulnerability to execute arbitrary code or cause a denial-of-service condition.
The vulnerability was introduced in Linux Kernel version 5.11 and has been fixed in version 5.14.12.
To fix this vulnerability, it is recommended to update the Linux Kernel to version 5.14.12 or later. Alternatively, users can disable the sch_taprio module if it is not required for their specific use case.
Yes, users can disable the sch_taprio module as a temporary workaround. However, this does not address the underlying vulnerability and may limit system functionality.
Related vulnerabilities
Recent vulnerabilities recorded for Kernel.