CVE-2024-39495

greybus: Fix use-after-free bug in gb_interface_release due to race condition.

State
Published
Severity
7.8 High
Published
Jul 12, 2024
Updated
Aug 5, 2026
Reserved
Jun 25, 2024

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 55742d2a071a569bf20f90d37b1b5b8a25a3f882 to before 74cd0a421896b2e07eafe7da4275302bfecef201Affected
  • 55742d2a071a569bf20f90d37b1b5b8a25a3f882 to before 2b6bb0b4abfd79b8698ee161bb73c0936a2aaf83Affected
  • 55742d2a071a569bf20f90d37b1b5b8a25a3f882 to before fb071f5c75d4b1c177824de74ee75f9dd34123b9Affected
  • 55742d2a071a569bf20f90d37b1b5b8a25a3f882 to before 9a733d69a4a59c2d08620e6589d823c24be773dcAffected
  • 55742d2a071a569bf20f90d37b1b5b8a25a3f882 to before 0b8fba38bdfb848fac52e71270b2aa3538c996eaAffected
  • 55742d2a071a569bf20f90d37b1b5b8a25a3f882 to before 03ea2b129344152157418929f06726989efc0445Affected
  • 55742d2a071a569bf20f90d37b1b5b8a25a3f882 to before 5c9c5d7f26acc2c669c1dcf57d1bb43ee99220ceAffected
LinuxLinux
  • 4.9Affected
  • before 4.9Not affected
  • 5.4.279 through 5.4.*Not affected
  • 5.10.221 through 5.10.*Not affected
  • 5.15.162 through 5.15.*Not affected
  • 6.1.95 through 6.1.*Not affected
  • 6.6.35 through 6.6.*Not affected
  • 6.9.6 through 6.9.*Not affected
  • 6.10 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.