CVE-2024-39495
Published: Jul 12, 2024
Modified: May 11, 2026
Description
In the Linux kernel, the following vulnerability has been resolved: greybus: Fix use-after-free bug in gb_interface_release due to race condition. In gb_interface_create, &intf->mode_switch_completion is bound with gb_interface_mode_switch_work. Then it will be started by gb_interface_request_mode_switch. Here is the relevant code. if (!queue_work(system_long_wq, &intf->mode_switch_work)) { ... } If we call gb_interface_release to make cleanup, there may be an unfinished work. This function will call kfree to free the object "intf". However, if gb_interface_mode_switch_work is scheduled to run after kfree, it may cause use-after-free error as gb_interface_mode_switch_work will use the object "intf". The possible execution flow that may lead to the issue is as follows: CPU0 CPU1 | gb_interface_create | gb_interface_request_mode_switch gb_interface_release | kfree(intf) (free) | | gb_interface_mode_switch_work | mutex_lock(&intf->mutex) (use) Fix it by canceling the work before kfree.
| Vendor | Product | Versions |
|---|---|---|
Linux | Linux | affected 55742d2a071a569bf20f90d37b1b5b8a25a3f882 - < 74cd0a421896b2e07eafe7da4275302bfecef201affected 55742d2a071a569bf20f90d37b1b5b8a25a3f882 - < 2b6bb0b4abfd79b8698ee161bb73c0936a2aaf83affected 55742d2a071a569bf20f90d37b1b5b8a25a3f882 - < fb071f5c75d4b1c177824de74ee75f9dd34123b9affected 55742d2a071a569bf20f90d37b1b5b8a25a3f882 - < 9a733d69a4a59c2d08620e6589d823c24be773dcaffected 55742d2a071a569bf20f90d37b1b5b8a25a3f882 - < 0b8fba38bdfb848fac52e71270b2aa3538c996ea+2 more versions |
Linux | Linux | affected 4.9unaffected 0 - < 4.9unaffected 5.4.279 - <= 5.4.*unaffected 5.10.221 - <= 5.10.*unaffected 5.15.162 - <= 5.15.*+4 more versions |
References
Security Training
Train your team to recognize and prevent security threats with our comprehensive security awareness program.
Start TrainingVulnerability Scanning
Discover vulnerabilities in your applications and infrastructure before attackers do.
Scan Now