Description
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()
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Quota Bypass
Action: Apply patch
AI Analysis

Impact

The vulnerability allows a user to bypass XFS quota enforcement by changing a file's group ID through an NFS client. Because the kernel checks real credentials with has_capability_noaudit() instead of the effective credentials checked by capable(), a user can manipulate file attributes that normally trigger quota checks. This enables a file to grow beyond its hard quota limit, consuming disk space that should have been reserved for other users or processes. While it does not provide remote code execution, the impact is significant integrity and availability degradation if the disk becomes full or if other services are denied space.

Affected Systems

Any Linux system that runs the Linux kernel with the XFS file system module enabled is vulnerable if the kernel predates the patch commit eba0549bc7d1. All distributions that ship an unpatched XFS quota implementation, regardless of kernel release, are affected until the kernel is updated.

Risk and Exploitability

The CVSS score is not published and the EPSS score is unavailable, so the precise exploitability cannot be quantified. The flaw can be exploited by a local user or by anyone able to mount an NFS share to the affected server; by changing the group ID of a large file the attacker can cause the quota code to apply the XFS_QMOPT_FORCE_RES flag, bypassing quota accounting. No public exploits are known and the issue is not listed in CISA KEV, but the ease of triggering the vulnerability through file attribute manipulation makes it a moderate to high risk for affected hosts.

Generated by OpenCVE AI on October 28, 2026 at 11:41 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the Linux kernel patch that replaces capable() with has_capability_noaudit() in the XFS quota handling module (commit eba0549bc7d1).
  • Reboot the system or reload the updated kernel module to ensure the new capability checks take effect.
  • Verify XFS quota enforcement by creating a file that would normally exceed the user’s hard quota and confirming it is blocked.
  • If immediate patching is not possible, disable XFS quota enforcement or restrict NFS client attribute modifications until a patched kernel can be deployed.

Generated by OpenCVE AI on October 28, 2026 at 11:41 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 13:00:00 +0000

Type Values Removed Values Added
First Time appeared Linux linux
Vendors & Products Linux linux

Wed, 28 Oct 2026 12:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-284
CWE-286

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
Description 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()
Title xfs: fix capability check in xfs
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-28T10:34:45.102Z

Reserved: 2026-09-25T10:25:14.394Z

Link: CVE-2026-99131

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:32.917

Modified: 2026-10-28T11:17:32.917

Link: CVE-2026-99131

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T12:45:15Z

Weaknesses