CVE-2026-80530

CVE-2026-80530

High · published August 26, 2026

CVSS v3.1
7.1
EPSS
0%
Percentile
2.6
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.1 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.00133 · 2.6th percentile
Published
2026-08-26T19:17Z
References (5)
EPSS history
Timeline
  • 28 AUG 06:54Z
    EPSS moved — → 0%
    epss
  • 26 AUG 14:37Z
    xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN
    cvelistv5