CVE-2024-39496

btrfs: zoned: fix use-after-free due to race with dev replace

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:

btrfs: zoned: fix use-after-free due to race with dev replace

While loading a zone's info during creation of a block group, we can race with a device replace operation and then trigger a use-after-free on the device that was just replaced (source device of the replace operation).

This happens because at btrfs_load_zone_info() we extract a device from the chunk map into a local variable and then use the device while not under the protection of the device replace rwsem. So if there's a device replace operation happening when we extract the device and that device is the source of the replace operation, we will trigger a use-after-free if before we finish using the device the replace operation finishes and frees the device.

Fix this by enlarging the critical section under the protection of the device replace rwsem so that all uses of the device are done inside the critical section.

Scores

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

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 5b316468983dfa9473ff0f1c42e4e30b4c267141 to before 17765964703b88d8befd899f8501150bb7e07e43Affected
  • 5b316468983dfa9473ff0f1c42e4e30b4c267141 to before 092571ef9a812566c8f2c9038d9c2a64c49788d6Affected
  • 5b316468983dfa9473ff0f1c42e4e30b4c267141 to before a0cc006f4214b87e70983c692e05bb36c59b5752Affected
  • 5b316468983dfa9473ff0f1c42e4e30b4c267141 to before 0090d6e1b210551e63cf43958dc7a1ec942cdde9Affected
LinuxLinux
  • 5.11Affected
  • before 5.11Not 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.