SecOps SignalSecurity Intelligence Workspace
Loading collection status
Vulnerabilities/CVE-2026-98975Public Intelligence Dossier
Source: Microsoft · Limited verification•Last verified: •Collection Degraded
CVE-2026-98975Unknown / EvaluatingModerate (raw)CVSS 6.1

xfs: stop exchanging reflink flags when exchanging mappings

Published: 24 Oct 2026•Last updated: 26 Oct 2026, 08:18 PM IST•Source identifier: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Dossier completeness: source-provided sections 3 / 3 · rule guidance available. Missing source facts count as incomplete.
Official source
CISA KEV catalog
Unknown
KEV status was not determined.
CVSS score
6.1Moderate (raw)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Metric sourceMicrosoft MSRC CVRF
EPSS probability
0.2%0.002
Percentile6th
Weakness type
—
No further CWE recorded
Remediation
Patch status unknown
No fixed version or KB recorded

Why It Matters

Analysis dossier

Why It Matters

In the Linux kernel, the following vulnerability has been resolved: xfs: stop exchanging reflink flags when exchanging mappings When an exchange covers both files from offset 0 to i_disk_size, xmi_can_exchange_reflink_flags() assumes every mapping moved and hands the reflink flag over to the other file. That assumption is wrong. A file can still own shared blocks past i_disk_size, e.g. after EXCHANGE_RANGE_TO_EOF sets a smaller size without unmapping anything. The flag is cleared anyway, and the next write to such a block happens in place instead of CoW, corrupting the other file that shares it. Commit a23eca88448e ("xfs: fix exchange-range reflink flag clearing issue with INO1_WRITTEN") fixed one instance of this. Rather than add another special case, stop moving the flags. xfs_exchmaps_ensure_reflink() already sets the flag on both inodes before the exchange, so both just keep it. Nothing sets CLEAR_INO{1,2}_REFLINK anymore. Intents logged by older kernels may still carry them; recovery already masks them off, so they stay in the log format mask and are ignored. XFS_IOC_SWAPEXT has the same problem: it moves the reflink flag from one inode to the other along with the extents. Just removing that is not enough here: the exchange path flags both inodes up front in xfs_exchmaps_ensure_reflink(), but swapext has no such step, so the inode receiving the shared extents would be left without the flag. Set it on both inodes instead, and make sure both have a CoW fork, since an inode with the reflink flag is expected to have one. The flag now stays until FALLOC_FL_UNSHARE_RANGE, xfs_scrub, or a truncate to zero removes it.

SOC priority

Medium

Actively exploited (source statement)

Unknown

Publicly disclosed

Unknown

Risk basis: Microsoft or Microsoft-managed product relevance; HIGH severity; Source severity; no confirmed exploitation signal

Affected Products & Remediation

1 source-backed product
Affected products and versions (source)
  • azl3 kernel 6.6.157.1-1 on Azure Linux 3.0 · version range not provided by source · Microsoft MSRC · Source
Recorded patch / KBNot provided by source

Vendor or catalog guidance (source)

  • Microsoft MSRC: Release Notes

Known exploitation (source facts)

Only what a source states. Unknown means no source has said either way; it is not "not exploited".

CISA KEV
Unknown
Exploited (source statement)
Unknown
Publicly disclosed (source)
Unknown

Suggested hunting (rule-based inference)

SecOps Signal recommendation (rule-based inference). These steps are hunting hypotheses from the vulnerability class; they do not state or imply that exploitation occurred here or anywhere.

Matched local-access-review (CVSS AV:L, CVSS PR:L)

Exposure

  1. Identify hosts reporting this CVE, prioritising shared or multi-user systems.Telemetry: DeviceTvmSoftwareVulnerabilities · A local, low-privilege vector matters most where untrusted users can run code. · Rule local-access-review

Exploitation evidence

  1. Review source-stated impact and relevant application errors on affected hosts; local access alone does not establish privilege escalation.Telemetry: DeviceProcessEvents · The vector establishes local access and low privileges only. Confirm the impact from the advisory before choosing a specific hunt. · Rule local-access-review

Response

  1. Confirm the source-stated update on affected hosts.Telemetry: DeviceTvmSoftwareVulnerabilities · Host inventory can verify remediation. · Rule local-access-review

CISA KEV Record

CISA KEV status was not determined for this record.

Change History & Source Data

— No recorded material change

CNA / source
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Record status · verification
UPDATED · NVD API
CPE
Unknown

Linked by the query's stored exact CVE association. Review required tables and validation status before use.

Detection Hunting Query
Target: DeviceTvmSoftwareVulnerabilities•Defender XDR
Detect endpoints exposed to CVE-2026-98975
Purpose: Exposure assessment (Category: Exposure Check)Why linked: Query metadata names CVE-2026-98975
DeviceTvmSoftwareVulnerabilities| where CveId == "CVE-2026-98975"| project DeviceId, DeviceName, OSPlatform, OSVersion, SoftwareVendor, SoftwareName, SoftwareVersion, CveId, VulnerabilitySeverityLevel, RecommendedSecurityUpdate, RecommendedSecurityUpdateId| sort by VulnerabilitySeverityLevel desc
Schema Checked · Not runtime validatedSource: SecOps Signal deterministic template · Limited verificationStatic screening: Passed structure and schema checks; tenant execution is not verified.

Looking up related community queries…

Loading related intelligence

Correlated briefings

SecOps Signal surfaces public advisory facts only. A missing value means the source has not published it, not that your environment is unaffected. No tenant inventory is connected.