Linux Kernel bis 5.18.2 fs/ext4/ext4_jbd2.c inode_lock Race Condition

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 4.4 | $0-$5k | 0.00 |
Zusammenfassung
In Linux Kernel bis 5.4.206/5.10.131/5.15.45/5.17.13/5.18.2 wurde eine problematische Schwachstelle ausgemacht. Es geht hierbei um die Funktion inode_lock der Datei fs/ext4/ext4_jbd2.c. Mittels dem Manipulieren mit unbekannten Daten kann eine Race Condition-Schwachstelle ausgenutzt werden.
Diese Schwachstelle trägt die Bezeichnung CVE-2022-49414. Es gibt keinen verfügbaren Exploit.
Die Aktualisierung der betroffenen Komponente wird empfohlen.
Details
In Linux Kernel bis 5.4.206/5.10.131/5.15.45/5.17.13/5.18.2 wurde eine Schwachstelle entdeckt. Sie wurde als problematisch eingestuft. Dabei geht es um die Funktion inode_lock der Datei fs/ext4/ext4_jbd2.c. Mittels Manipulieren mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-362. Die genauen Auswirkungen eines erfolgreichen Angriffs sind bisher nicht bekannt. CVE fasst zusammen:
In the Linux kernel, the following vulnerability has been resolved:
ext4: fix race condition between ext4_write and ext4_convert_inline_data
Hulk Robot reported a BUG_ON:
==================================================================
EXT4-fs error (device loop3): ext4_mb_generate_buddy:805: group 0,
block bitmap and bg descriptor inconsistent: 25 vs 31513 free clusters
kernel BUG at fs/ext4/ext4_jbd2.c:53!
invalid opcode: 0000 [#1] SMP KASAN PTI
CPU: 0 PID: 25371 Comm: syz-executor.3 Not tainted 5.10.0+ #1
RIP: 0010:ext4_put_nojournal fs/ext4/ext4_jbd2.c:53 [inline]
RIP: 0010:__ext4_journal_stop+0x10e/0x110 fs/ext4/ext4_jbd2.c:116
[...]
Call Trace:
ext4_write_inline_data_end+0x59a/0x730 fs/ext4/inline.c:795
generic_perform_write+0x279/0x3c0 mm/filemap.c:3344
ext4_buffered_write_iter+0x2e3/0x3d0 fs/ext4/file.c:270
ext4_file_write_iter+0x30a/0x11c0 fs/ext4/file.c:520
do_iter_readv_writev+0x339/0x3c0 fs/read_write.c:732
do_iter_write+0x107/0x430 fs/read_write.c:861
vfs_writev fs/read_write.c:934 [inline]
do_pwritev+0x1e5/0x380 fs/read_write.c:1031
[...]
==================================================================
Above issue may happen as follows:
cpu1 cpu2
__________________________|__________________________
do_pwritev
vfs_writev
do_iter_write
ext4_file_write_iter
ext4_buffered_write_iter
generic_perform_write
ext4_da_write_begin
vfs_fallocate
ext4_fallocate
ext4_convert_inline_data
ext4_convert_inline_data_nolock
ext4_destroy_inline_data_nolock
clear EXT4_STATE_MAY_INLINE_DATA
ext4_map_blocks
ext4_ext_map_blocks
ext4_mb_new_blocks
ext4_mb_regular_allocator
ext4_mb_good_group_nolock
ext4_mb_init_group
ext4_mb_init_cache
ext4_mb_generate_buddy --> error
ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)
ext4_restore_inline_data
set EXT4_STATE_MAY_INLINE_DATA
ext4_block_write_begin
ext4_da_write_end
ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)
ext4_write_inline_data_end
handle=NULL
ext4_journal_stop(handle)
__ext4_journal_stop
ext4_put_nojournal(handle)
ref_cnt = (unsigned long)handle
BUG_ON(ref_cnt == 0) ---> BUG_ON
The lock held by ext4_convert_inline_data is xattr_sem, but the lock
held by generic_perform_write is i_rwsem. Therefore, the two locks can
be concurrent.
To solve above issue, we add inode_lock() for ext4_convert_inline_data().
At the same time, move ext4_convert_inline_data() in front of
ext4_punch_hole(), remove similar handling from ext4_punch_hole().Das Advisory kann von git.kernel.org heruntergeladen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 26.02.2025 mit CVE-2022-49414 vorgenommen. Das Ausnutzen gilt als schwierig. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht.
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 233373 (Amazon Linux 2 : kernel (ALASKERNEL-5.10-2025-086)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Upgrade auf die Version 5.4.207, 5.10.132, 5.15.46, 5.17.14 oder 5.18.3 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 18881d7e517169193d9ef6c89c7f322e3e164277/91f90b571f1a23f5b8a9c2b68a9aa5d6981a3c3d/14602353b350950b551eccc6b46411aa3b12ffe2/725e00cb7039eae291890f1bb19bc867176745f6/ccc6639f831bee91aa8b41c8a1cdd020ecfb9f32/f87c7a4b084afc13190cbb263538e444cb2b392a beheben. Dieser kann von git.kernel.org bezogen werden. Als bestmögliche Massnahme wird das Aktualisieren auf eine neue Version empfohlen.
Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von Tenable (233373) dokumentiert. Once again VulDB remains the best source for vulnerability data.
Produkt
Typ
Hersteller
Name
Version
- 5.4.206
- 5.10.131
- 5.15.0
- 5.15.1
- 5.15.2
- 5.15.3
- 5.15.4
- 5.15.5
- 5.15.6
- 5.15.7
- 5.15.8
- 5.15.9
- 5.15.10
- 5.15.11
- 5.15.12
- 5.15.13
- 5.15.14
- 5.15.15
- 5.15.16
- 5.15.17
- 5.15.18
- 5.15.19
- 5.15.20
- 5.15.21
- 5.15.22
- 5.15.23
- 5.15.24
- 5.15.25
- 5.15.26
- 5.15.27
- 5.15.28
- 5.15.29
- 5.15.30
- 5.15.31
- 5.15.32
- 5.15.33
- 5.15.34
- 5.15.35
- 5.15.36
- 5.15.37
- 5.15.38
- 5.15.39
- 5.15.40
- 5.15.41
- 5.15.42
- 5.15.43
- 5.15.44
- 5.15.45
- 5.17.0
- 5.17.1
- 5.17.2
- 5.17.3
- 5.17.4
- 5.17.5
- 5.17.6
- 5.17.7
- 5.17.8
- 5.17.9
- 5.17.10
- 5.17.11
- 5.17.12
- 5.17.13
- 5.18.0
- 5.18.1
- 5.18.2
Lizenz
Webseite
- Hersteller: https://www.kernel.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 4.6VulDB Meta Temp Score: 4.4
VulDB Base Score: 4.6
VulDB Temp Score: 4.4
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: Nein
Lokal: Nein
Remote: Teilweise
Verfügbarkeit: 🔍
Status: Nicht definiert
EPSS Score: 🔍
EPSS Percentile: 🔍
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 233373
Nessus Name: Amazon Linux 2 : kernel (ALASKERNEL-5.10-2025-086)
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Kernel 5.4.207/5.10.132/5.15.46/5.17.14/5.18.3
Patch: 18881d7e517169193d9ef6c89c7f322e3e164277/91f90b571f1a23f5b8a9c2b68a9aa5d6981a3c3d/14602353b350950b551eccc6b46411aa3b12ffe2/725e00cb7039eae291890f1bb19bc867176745f6/ccc6639f831bee91aa8b41c8a1cdd020ecfb9f32/f87c7a4b084afc13190cbb263538e444cb2b392a
Timeline
26.02.2025 🔍26.02.2025 🔍
26.02.2025 🔍
27.03.2025 🔍
Quellen
Hersteller: kernel.orgAdvisory: git.kernel.org
Status: Bestätigt
CVE: CVE-2022-49414 (🔍)
GCVE (CVE): GCVE-0-2022-49414
GCVE (VulDB): GCVE-100-297028
Eintrag
Erstellt: 26.02.2025 09:48Aktualisierung: 27.03.2025 21:13
Anpassungen: 26.02.2025 09:48 (58), 27.03.2025 21:13 (2)
Komplett: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.