CVE-2024-41078

btrfs: qgroup: fix quota root leak after quota disable failure

State
Published
Severity
Not scored
Published
Jul 29, 2024
Updated
May 11, 2026
Reserved
Jul 12, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

btrfs: qgroup: fix quota root leak after quota disable failure

If during the quota disable we fail when cleaning the quota tree or when deleting the root from the root tree, we jump to the 'out' label without ever dropping the reference on the quota root, resulting in a leak of the root since fs_info->quota_root is no longer pointing to the root (we have set it to NULL just before those steps).

Fix this by always doing a btrfs_put_root() call under the 'out' label. This is a problem that exists since qgroups were first added in 2012 by commit bed92eae26cc ("Btrfs: qgroup implementation and prototypes"), but back then we missed a kfree on the quota root and free_extent_buffer() calls on its root and commit root nodes, since back then roots were not yet reference counted.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • bed92eae26ccf280d1a2168b7509447b56675a27 to before 94818bdb00ef34a996a06aa63d11f591074cb757Affected
  • bed92eae26ccf280d1a2168b7509447b56675a27 to before 8a69529f22590b67bb018de9acbcf94abc8603cfAffected
  • bed92eae26ccf280d1a2168b7509447b56675a27 to before 5ef3961682e5310f2221bae99bcf9f5d0f4b0d51Affected
  • bed92eae26ccf280d1a2168b7509447b56675a27 to before f88aeff5a173e8ba3133314eb4b964236ef3589dAffected
  • bed92eae26ccf280d1a2168b7509447b56675a27 to before 7dd6a5b96157a21245566b21fd58276a214357ffAffected
  • bed92eae26ccf280d1a2168b7509447b56675a27 to before a7e4c6a3031c74078dba7fa36239d0f4fe476c53Affected
LinuxLinux
  • 3.6Affected
  • before 3.6Not affected
  • 5.10.223 through 5.10.*Not affected
  • 5.15.164 through 5.15.*Not affected
  • 6.1.101 through 6.1.*Not affected
  • 6.6.42 through 6.6.*Not affected
  • 6.9.11 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.