IT SBIT Services
Schneeberger
DEEN
CVE tracker

Linux kernel XFS: Incorrect capability check allows quota bypass

CVE-2026-99131High 8.2

← All vulnerabilities

Summary

The XFS filesystem in the Linux kernel checks real instead of effective credentials when a file's attributes, such as its group ID, are changed. A user who can change file ownership, including through an NFS client, can move a file to another group they belong to and evade group quota enforcement. The described impact is quota bypass, and the record does not describe confidentiality loss. Exposure is mainly on multi-user Linux systems and NFS servers that use XFS with group quotas.

Affected

  • Linux kernel from commit eba0549bc7d1 (introduced in 5.18) up to the fixed versions below
  • Per the CVE record, Linux 7.3 and later are unaffected; the affected range is not fully confirmed against NVD
  • Distribution kernel packages: Unknown.

Fixed in

  • Linux 6.1.191
  • Linux 6.6.161
  • Linux 6.12.115
  • Linux 6.18.59
  • Linux 7.2.13
  • Distribution kernel packages: Unknown.

Workaround

Unknown.

Exploitation

  • No public proof of concept or exploitation in the wild was found in the sources checked.
  • Not listed in CISA KEV in the sources checked.
  • EPSS: about 0.19 %.

Our recommendation

  • Install the kernel update from your distribution or the fixed stable kernel, then reboot.
  • Check whether you use XFS with group quotas or NFS exports, and restrict who can change file ownership there.
  • Verify the CVSS vector in NVD once analysis is complete, because the described impact does not show confidentiality loss.

Public exploits

PoC-in-GitHub, Metasploit and Exploit-DB list nothing for this CVE.

Research sources

Researched and written up in English and German by an AI (Claude by Anthropic) based on NVD, CISA, EPSS and the sources listed. The vendor information is authoritative. Researched on 1 Nov 2026, 14:46.

Original description (NVD)

In the Linux kernel, the following vulnerability has been resolved: xfs: fix capability check in xfs An user reported a bug where he managed to evade group's quota by changing a file's gid to a different group id the same user belonged to, even though quotas were enforced on both gids and the file's size was big enough to exceed the quota's hardlimit. Commit eba0549bc7d1 replaced a capable() call by a has_capability_noaudit() to prevent unnecessary selinux audit messages. Turns out that both calls have slightly different semantics even though their documentation seems similar. Where in a nutshell: capable() - Tests the task's effective credentials has_ns_capability_noaudit() - Tests the task's real credentials This most of the time has no practical difference but in some cases like changing attrs (specifically group id in this case) through a NFS client this will allow the quota code to use XFS_QMOPT_FORCE_RES, effectively bypassing quota accounting checks. Using instead ns_capable_noaudit() should fix this issue and prevent selinux audit messages. This also fix the remaining calls to has_capability_noaudit()

NVD references (6)

Sources

The tracker combines official, freely usable data sources – updated continuously:

This product uses data from the NVD API but is not endorsed or certified by the NVD. EPSS data © FIRST.org.

Affected? We can help.

We check whether your systems are affected, install updates and close the gap – continuously with the System Health Checker if you wish.