Linux Kernel bis 6.6.156/6.12.109/6.18.51/7.2.5 ext4 mpage_prepare_extent_to_map Race Condition

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 3.3 | $0-$5k | 2.70 |
Zusammenfassung
Es wurde eine problematische Schwachstelle in Linux Kernel bis 6.6.156/6.12.109/6.18.51/7.2.5 entdeckt. Dies betrifft die Funktion mpage_prepare_extent_to_map der Komponente ext4. Mittels Manipulieren mit unbekannten Daten kann eine Race Condition-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird unter CVE-2026-92502 geführt. Der Angriff erfordert einen lokalen Zugriff. Es ist soweit kein Exploit verfügbar.
Als bestmögliche Massnahme wird das Einspielen eines Upgrades empfohlen.
Details
In Linux Kernel bis 6.6.156/6.12.109/6.18.51/7.2.5 wurde eine problematische Schwachstelle entdeckt. Hierbei betrifft es die Funktion mpage_prepare_extent_to_map der Komponente ext4. Durch Beeinflussen mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-362. Auswirken tut sich dies auf Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:
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.Das Advisory findet sich auf git.kernel.org. Die Verwundbarkeit wird seit dem 16.09.2026 als CVE-2026-92502 geführt. Die Ausnutzbarkeit gilt als leicht. Der Angriff muss lokal angegangen werden. Das Ausnutzen erfordert eine erweiterte Authentisierung. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht.
Ein Aktualisieren auf die Version 6.6.157, 6.12.110, 6.18.52, 7.2.6 oder 7.3-rc1 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches f82a4929d0ef7ddf254c1c295ec1dfd24094f2de/a450ab88bfd57b227d72c7a3faad54d16c3fc099/aa0042630b1f7cab735b0a168539281198822586/43ae387c3ae6a11227d096669ddf883e27a39a11/ec524aae479b4b2078c47492b90ec21200bce434 lösen. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.
Be aware that VulDB is the high quality source for vulnerability data.
Produkt
Typ
Hersteller
Name
Version
- 6.6.156
- 6.12.109
- 6.18.0
- 6.18.1
- 6.18.2
- 6.18.3
- 6.18.4
- 6.18.5
- 6.18.6
- 6.18.7
- 6.18.8
- 6.18.9
- 6.18.10
- 6.18.11
- 6.18.12
- 6.18.13
- 6.18.14
- 6.18.15
- 6.18.16
- 6.18.17
- 6.18.18
- 6.18.19
- 6.18.20
- 6.18.21
- 6.18.22
- 6.18.23
- 6.18.24
- 6.18.25
- 6.18.26
- 6.18.27
- 6.18.28
- 6.18.29
- 6.18.30
- 6.18.31
- 6.18.32
- 6.18.33
- 6.18.34
- 6.18.35
- 6.18.36
- 6.18.37
- 6.18.38
- 6.18.39
- 6.18.40
- 6.18.41
- 6.18.42
- 6.18.43
- 6.18.44
- 6.18.45
- 6.18.46
- 6.18.47
- 6.18.48
- 6.18.49
- 6.18.50
- 6.18.51
- 7.2.0
- 7.2.1
- 7.2.2
- 7.2.3
- 7.2.4
- 7.2.5
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 3.4VulDB Meta Temp Score: 3.3
VulDB Base Score: 3.4
VulDB Temp Score: 3.3
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Race ConditionCWE: CWE-362
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Teilweise
Lokal: Ja
Remote: Nein
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Kernel 6.6.157/6.12.110/6.18.52/7.2.6/7.3-rc1
Patch: f82a4929d0ef7ddf254c1c295ec1dfd24094f2de/a450ab88bfd57b227d72c7a3faad54d16c3fc099/aa0042630b1f7cab735b0a168539281198822586/43ae387c3ae6a11227d096669ddf883e27a39a11/ec524aae479b4b2078c47492b90ec21200bce434
Timeline
16.09.2026 CVE zugewiesen17.09.2026 Advisory veröffentlicht
17.09.2026 VulDB Eintrag erstellt
17.09.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2026-92502 (🔒)
GCVE (CVE): GCVE-0-2026-92502
GCVE (VulDB): GCVE-100-406999
Eintrag
Erstellt: 17.09.2026 22:29Anpassungen: 17.09.2026 22:29 (59)
Komplett: 🔍
Cache ID: 216::103
Be aware that VulDB is the high quality source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.