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

xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN

When exchanging two full-file ranges, xmi_can_exchange_reflink_flags()
can move the reflink inode flag from the file that currently has it to
the other file, as long as exactly one side is marked. This assumes
that the file contents, and therefore all shared extents, are exchanged.

That assumption is not true when XFS_EXCHMAPS_INO1_WRITTEN is set.
xfs_exchmaps_can_skip_mapping() can skip hole and unwritten mappings
from file1, so an exchange can complete without moving every mapping
that the earlier flag-swap decision accounted for. In that case the
post-operation cleanup can clear the reflink flag from an inode that
still owns shared written extents. Later writes then take the
non-reflink write path and may update blocks that should still have
been protected by CoW, which shows up as data corruption between
reflink-related files.

Fix this by disabling the reflink flag exchange whenever
XFS_EXCHMAPS_INO1_WRITTEN is requested. The contents exchange can still
proceed; the conservative outcome is that both inodes keep the reflink
flag. The regular reflink flag cleanup path can drop the extra flag
later once the inode no longer has shared extents.
Published: 2026-09-25
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: Data Corruption in XFS Reflink Files
Action: Immediate Patch
AI Analysis

Impact

In the Linux kernel, exchanging full‑file ranges on an XFS filesystem can incorrectly clear the reflink inode flag when the XFS_EXCHMAPS_INO1_WRITTEN flag is used. This post‑operation cleanup may remove the flag from an inode that still owns shared written extents, causing subsequent writes to use a non‑copy‑on‑write path and corrupt data that should have been protected by CoW. The weakness involves improper flag handling and is related to the CWE‑281 category.

Affected Systems

The vulnerability is present in all Linux kernel versions that use the XFS filesystem and have not yet incorporated the patch that disables flag exchange when XFS_EXCHMAPS_INO1_WRITTEN is requested. Exact affected versions are not listed, so any kernel lacking the referenced commits (56f87ac2b954, 8ae30b9a8c207, a23eca88448, fac32b9950a2) may be vulnerable.

Risk and Exploitability

Based on the description, it is inferred that the attack vector requires the ability to perform full‑file range exchanges on an XFS filesystem, which typically demands local filesystem access and the necessary permissions to manipulate the target files. The EPSS score of <1% indicates a low probability of exploitation, while the CVSS score of 7.0 classifies the issue as high severity. The vulnerability is not listed in the CISA KEV catalog. The primary risk is data corruption rather than remote code execution; an attacker would need to execute legitimate file swap operations on the affected system to trigger the bug, making the likelihood of exploitation low but not negligible in environments where such operations are common.

Generated by OpenCVE AI on October 1, 2026 at 09:34 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply a kernel release that includes the fix for the XFS reflink flag clearing bug, ensuring the kernel image contains the relevant patch commits.
  • If a kernel upgrade cannot be performed immediately, disable the XFS_EXCHMAPS_INO1_WRITTEN flag or avoid performing full‑file range exchanges that trigger reflink operations on the affected systems.
  • Apply the individual commit that disables the flag exchange when XFS_EXCHMAPS_INO1_WRITTEN is requested and rebuild the kernel, or manually patch the kernel source to include the fix.

Generated by OpenCVE AI on October 1, 2026 at 09:34 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4817-1 linux-6.12 security update
Debian DSA Debian DSA DSA-6528-1 linux security update
History

Tue, 29 Sep 2026 20:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Tue, 29 Sep 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-281
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.0, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H'}

threat_severity

Moderate


Sat, 26 Sep 2026 00:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-665

Fri, 25 Sep 2026 10:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN When exchanging two full-file ranges, xmi_can_exchange_reflink_flags() can move the reflink inode flag from the file that currently has it to the other file, as long as exactly one side is marked. This assumes that the file contents, and therefore all shared extents, are exchanged. That assumption is not true when XFS_EXCHMAPS_INO1_WRITTEN is set. xfs_exchmaps_can_skip_mapping() can skip hole and unwritten mappings from file1, so an exchange can complete without moving every mapping that the earlier flag-swap decision accounted for. In that case the post-operation cleanup can clear the reflink flag from an inode that still owns shared written extents. Later writes then take the non-reflink write path and may update blocks that should still have been protected by CoW, which shows up as data corruption between reflink-related files. Fix this by disabling the reflink flag exchange whenever XFS_EXCHMAPS_INO1_WRITTEN is requested. The contents exchange can still proceed; the conservative outcome is that both inodes keep the reflink flag. The regular reflink flag cleanup path can drop the extra flag later once the inode no longer has shared extents.
Title xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN
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 Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:09:10.369Z

Reserved: 2026-09-24T16:01:01.154Z

Link: CVE-2026-97547

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-25T11:17:05.070

Modified: 2026-10-19T10:17:23.697

Link: CVE-2026-97547

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-09-25T00:00:00Z

Links: CVE-2026-97547 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-01T09:45:04Z

Weaknesses
  • CWE-281

    Improper Preservation of Permissions