CVE-2026-92502 json
ext4: clear stale xarray tags on folios skipped during writeback
published 2026-09-17 52 d ago modified 2026-10-19 21 d ago also EUVD-2026-82123
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 6%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
ext4: clear stale xarray tags on folios skipped during writeback
In data=journal mode, the writeback thread can hit the WARN_ON_ONCE(sb_rdonly(sb)) in ext4_journal_check_start() while the superblock is being remounted read-only during reboot:
Workqueue: writeback wb_workfn (flush-253:0) RIP: 0010:ext4_journal_check_start+0x8b/0xd0 Call Trace: __ext4_journal_start_sb+0x3c/0x1e0 mpage_prepare_extent_to_map+0x4af/0x580 ext4_do_writepages+0x3c0/0x1080 ext4_writepages+0xc8/0x1a0 do_writepages+0xc4/0x180 __writeback_single_inode+0x45/0x2f0 writeback_sb_inodes+0x26b/0x5d0 __writeback_inodes_wb+0x54/0x100 wb_writeback+0x1ac/0x320 wb_workfn+0x394/0x470
And followed by the warning: EXT4-fs warning (device vda1): ext4_evict_inode:195: inode #6263: comm (sd-umount): data will be lost
This issue is not reproduced every time, but frequently. The reproduction step is to create a VM with 8 CPUs, 16G memory and setup data=journal: sudo tune2fs -o journal_data /dev/vda1 Run fio: rm -f fiotest fio --name=fiotest --rw=randwrite --bs=4k --runtime=6 --ioengine=libaio --iodepth=256 --numjobs=8 --filename=fiotest --filesize=30G --group_reporting Reboot the VM, and check the console output from: virsh console testvm
But there is no dirty inode, folio_clear_dirty_for_io clears PG_dirty but leaves tags PAGECACHE_TAG_DIRTY and PAGECACHE_TAG_TOWRITE set which are only cleared by __folio_start_writeback. In data=journal mode, jbd2 checkpoints the journalled data to its final location and clears its own dirty flag without touching folio PG_dirty or xarray dirty flags. The commit f4a2b42e7891 ("ext4: fix stale xarray tags after writeback") fixes when PG_dirty is still set but there is no dirty page. Another case is PG_dirty is cleared, but PAGECACHE_TAG_DIRTY and PAGECACHE_TAG_TOWRITE is still set. In this case, writeback thread checks clean folio and skips it in mpage_prepare_extent_to_map: if (!folio_test_dirty(folio) || ... folio_unlcok(folio); continue
And never reaches ext4_bio_write_folio where the commit f4a2b42e7891 clears the stale xarray tags. Print debug logs after the filesystem is remounted read-only: writepages RDONLY nrpages=2048 dirtytag=1 wbtag=0 towrite=1 sync=0 And all folios are actually clean: folio idx=3 dirty=0 wb=0 checked=0 dirtybuf=0 jbddirty=0 mapped=1 ...
We need to clear the xarray stale tags for such clean folios by cycling them through writeback in the skip path, the same way f4a2b42e7891 does in ext4_bio_write_folio.
Patch / fix
- Linux Linux 6.6.157, 6.12.110, 6.18.52, 7.2.6, 7.3
- linux Debian 13 6.12.111-1
- linux Debian 14 7.2.6-1
- linux-6.12 Debian 12 6.12.111-1~deb12u1
debian advisories DEBIAN-CVE-2026-92502
- linux Ubuntu 24.04 LTS 6.8.0-146.146
- linux Ubuntu 26.04 LTS 7.0.0-38.38
- linux-aws Ubuntu 24.04 LTS 6.8.0-1066.69
- linux-aws Ubuntu 26.04 LTS 7.0.0-1014.14
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1070.78
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1014.14
- linux-gke Ubuntu 24.04 LTS 6.8.0-1065.73
- linux-gke Ubuntu 26.04 LTS 7.0.0-1008.9
ubuntu advisories UBUNTU-CVE-2026-92502
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-source openSUSE Tumbleweed 7.2.8-1.1
opensuse advisories openSUSE-SU-2026:11893-1
- kernel Azure Linux 3.0 6.6.157.1-1
azure linux advisories AZL-101942
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/f82a4929d0ef7ddf254c1c295ec1dfd24094f2de commit
- git.kernel.org/stable/c/a450ab88bfd57b227d72c7a3faad54d16c3fc099 commit
- git.kernel.org/stable/c/aa0042630b1f7cab735b0a168539281198822586 commit
- git.kernel.org/stable/c/43ae387c3ae6a11227d096669ddf883e27a39a11 commit
- git.kernel.org/stable/c/ec524aae479b4b2078c47492b90ec21200bce434 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-92502 updated cvss 5.5
kernel: ext4: clear stale xarray tags on folios skipped during writeback
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +82 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-9 Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9affected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-selftests-internal Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-08).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/f82a4929d0ef7ddf254c1c295ec1dfd24094f2de
- git.kernel.org /stable/c/a450ab88bfd57b227d72c7a3faad54d16c3fc099
- git.kernel.org /stable/c/aa0042630b1f7cab735b0a168539281198822586
- git.kernel.org /stable/c/43ae387c3ae6a11227d096669ddf883e27a39a11
- git.kernel.org /stable/c/ec524aae479b4b2078c47492b90ec21200bce434
Sources
- CVE List CVE-2026-92502
- NVD CVE-2026-92502
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.