CVE-2025-39759: Linux kernel · btrfs: qgroup: fix race between quota disable and quota rescan ioctl
Affects Linux kernelSource GCVE Database
Not known to be exploited · CVSS 7.0 High · fixed in 6.8.0-1046.49~22.04.1 : patch Linux kernel soon.
Data as of 26 Oct 2026, 14:05 UTC
- EPSS
- 0.1% chance of exploitation in 30 days – higher than 1% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- Patch
- Available – fixed in 6.8.0-1046.49~22.04.1, 6.8.0-1051.57~22.04.1, 6.8.0-1046.53~22.04.1 +27
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 11 Sep 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Patches and advisories
- ubuntu.com/security/notices/USN-8028-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-8031-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-5 (opens in a new tab)
- ubuntu.com/security/notices/USN-8031-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-6 (opens in a new tab)
- ubuntu.com/security/notices/USN-8031-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-8052-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-7 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-8 (opens in a new tab)
Affected software
| Product | Affected | Fixed in |
|---|---|---|
Ubuntu 25.10linux-azure-fdepkg:deb/ubuntu/linux-azure-fde?arch=source&distro=questingOther threats | Affected
| Fixed in– |
Ubuntu 24.04 LTSlinuxpkg:deb/ubuntu/linux?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-awspkg:deb/ubuntu/linux-aws?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-aws-6.14pkg:deb/ubuntu/linux-aws-6.14?arch=source&distro=nobleOther threats | Affected
| Fixed in– |
Ubuntu 24.04 LTSlinux-azurepkg:deb/ubuntu/linux-azure?arch=source&distro=nobleOther threats | Affected
| Fixed in
|
Ubuntu 24.04 LTSlinux-azure-6.11pkg:deb/ubuntu/linux-azure-6.11?arch=source&distro=nobleOther threats | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
In the Linux kernel, the following vulnerability has been resolved: btrfs: qgroup: fix race between quota disable and quota rescan ioctl There's a race between a task disabling quotas and another running the rescan ioctl that can result in a use-after-free of qgroup records from the fs_info->qgroup_tree rbtree. This happens as follows: 1) Task A enters btrfs_ioctl_quota_rescan() -> btrfs_qgroup_rescan(); 2) Task B enters btrfs_quota_disable() and calls btrfs_qgroup_wait_for_completion(), which does nothing because at that point fs_info->qgroup_rescan_running is false (it wasn't set yet by task A); 3) Task B calls btrfs_free_qgroup_config() which starts freeing qgroups from fs_info->qgroup_tree without taking the lock fs_info->qgroup_lock; 4) Task A enters qgroup_rescan_zero_tracking() which starts iterating the fs_info->qgroup_tree tree while holding fs_info->qgroup_lock, but task B is freeing qgroup records from that tree without holding the lock, resulting in a use-after-free. Fix this by taking fs_info->qgroup_lock at btrfs_free_qgroup_config(). Also at btrfs_qgroup_rescan() don't start the rescan worker if quotas were already disabled.
References
- ubuntu.com/security/CVE-2025-39759 (opens in a new tab)
- cve.org/CVERecord?id=CVE-2025-39759 (opens in a new tab)
- git.kernel.org/linus/e1249667750399a48cafcf5945761d39fa584edf (opens in a new tab)
- git.kernel.org/stable/c/2fd0f5ceb997f90f4332ccbab6c7e907e6b2d0eb (opens in a new tab)
- git.kernel.org/stable/c/7cda0fdde5d9890976861421d207870500f9aace (opens in a new tab)
- git.kernel.org/stable/c/b172535ccba12f0cf7d23b3b840989de47fc104d (opens in a new tab)
- git.kernel.org/stable/c/c38028ce0d0045ca600b6a8345a0ff92bfb47b66 (opens in a new tab)
- git.kernel.org/stable/c/dd0b28d877b293b1d7f8727a7de08ae36b6b9ef0 (opens in a new tab)
- git.kernel.org/stable/c/e1249667750399a48cafcf5945761d39fa584edf (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-8031-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-4 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-5 (opens in a new tab)
- ubuntu.com/security/notices/USN-8031-2 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-6 (opens in a new tab)
- ubuntu.com/security/notices/USN-8031-3 (opens in a new tab)
- ubuntu.com/security/notices/USN-8052-1 (opens in a new tab)
- ubuntu.com/security/notices/USN-8028-7 (opens in a new tab)