CVE-2022-50435 json
ext4: avoid crash when inline data creation follows DIO write
published 2025-10-01 13 mo ago modified 2026-11-05 3 d ago also EUVD-2025-32851
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 5%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
ext4: avoid crash when inline data creation follows DIO write
When inode is created and written to using direct IO, there is nothing to clear the EXT4_STATE_MAY_INLINE_DATA flag. Thus when inode gets truncated later to say 1 byte and written using normal write, we will try to store the data as inline data. This confuses the code later because the inode now has both normal block and inline data allocated and the confusion manifests for example as:
kernel BUG at fs/ext4/inode.c:2721! invalid opcode: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 359 Comm: repro Not tainted 5.19.0-rc8-00001-g31ba1e3b8305-dirty #15 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.0-1.fc36 04/01/2014 RIP: 0010:ext4_writepages+0x363d/0x3660 RSP: 0018:ffffc90000ccf260 EFLAGS: 00010293 RAX: ffffffff81e1abcd RBX: 0000008000000000 RCX: ffff88810842a180 RDX: 0000000000000000 RSI: 0000008000000000 RDI: 0000000000000000 RBP: ffffc90000ccf650 R08: ffffffff81e17d58 R09: ffffed10222c680b R10: dfffe910222c680c R11: 1ffff110222c680a R12: ffff888111634128 R13: ffffc90000ccf880 R14: 0000008410000000 R15: 0000000000000001 FS: 00007f72635d2640(0000) GS:ffff88811b000000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000565243379180 CR3: 000000010aa74000 CR4: 0000000000150eb0 Call Trace: <TASK> do_writepages+0x397/0x640 filemap_fdatawrite_wbc+0x151/0x1b0 file_write_and_wait_range+0x1c9/0x2b0 ext4_sync_file+0x19e/0xa00 vfs_fsync_range+0x17b/0x190 ext4_buffered_write_iter+0x488/0x530 ext4_file_write_iter+0x449/0x1b90 vfs_write+0xbcd/0xf40 ksys_write+0x198/0x2c0 __x64_sys_write+0x7b/0x90 do_syscall_64+0x3d/0x90 entry_SYSCALL_64_after_hwframe+0x63/0xcd </TASK>
Fix the problem by clearing EXT4_STATE_MAY_INLINE_DATA when we are doing direct IO write to a file.
Patch / fix
- Linux Linux 5.10.150, 5.15.75, 5.19.17, 6.0.3, 6.1
- linux Debian 14, Debian 13, Debian 12 6.0.3-1
debian advisories DEBIAN-CVE-2022-50435
- linux Ubuntu 22.04 LTS 5.15.0-60.66
- linux-aws Ubuntu 22.04 LTS 5.15.0-1030.34
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1029.36
- linux-gke Ubuntu 22.04 LTS 5.15.0-1027.32
- linux-ibm Ubuntu 22.04 LTS 5.15.0-1025.28
- linux-kvm Ubuntu 22.04 LTS 5.15.0-1028.33
- linux-azure Ubuntu 22.04 LTS 5.15.0-1033.40
- linux-gkeop Ubuntu 22.04 LTS 5.15.0-1015.19
ubuntu advisories UBUNTU-CVE-2022-50435
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-rt SLE Micro 5.5 5.14.21-150500.13.109.1
- kernel-source-rt SLE Micro 5.5 5.14.21-150500.13.109.1
- kernel-rt SLE Micro 5.4, SLE Micro 5.3 5.14.21-150400.15.133.1
- kernel-source-rt SLE Micro 5.4, SLE Micro 5.3 5.14.21-150400.15.133.1
- kernel-64kb SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS, SLE High Performance Computing 15 SP4-ESPOS 5.14.21-150400.24.179.1
- kernel-syms SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +3 more 5.14.21-150400.24.179.1
- kernel-source SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +3 more 5.14.21-150400.24.179.1
- kernel-default SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Micro 5.4 +7 more 5.14.21-150400.24.179.1
suse advisories SUSE-SU-2025:3761-1SUSE-SU-2025:3716-1SUSE-SU-2025:03628-1SUSE-SU-2025:03626-1SUSE-SU-2025:03615-1SUSE-SU-2025:03614-1
- git.kernel.org/stable/c/fb98cb61efff3b2a1964939465ccaaf906af1d4f commit
- git.kernel.org/stable/c/d8e4af8314df54d94cf2a541cf9c8626afe81d41 commit
- git.kernel.org/stable/c/89db2b50469bdbccb06ab072096d9d403124abac commit
- git.kernel.org/stable/c/771f15782d95760cde352c8d4bfd6f2c70719568 commit
- git.kernel.org/stable/c/4bb26f2885ac6930984ee451b952c5a6042f2c0e 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-2022-50435 updated cvss 4.7
kernel: ext4: avoid crash when inline data creation follows DIO write
-
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 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 rv, perf, rtla, kernel, bpftool, libperf, +83 moreaffected: workaround, no fix available
-
Red Hat Enterprise Linux 10 kernelnot 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
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 d ago
Exploit prediction
0.16% chance of exploitation in the next 30 days, higher than 5% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
-
git.kernel.org
/stable/c/fb98cb61efff3b2a1964939465ccaaf906af1d4f
patch
-
git.kernel.org
/stable/c/d8e4af8314df54d94cf2a541cf9c8626afe81d41
patch
-
git.kernel.org
/stable/c/89db2b50469bdbccb06ab072096d9d403124abac
patch
-
git.kernel.org
/stable/c/771f15782d95760cde352c8d4bfd6f2c70719568
patch
-
git.kernel.org
/stable/c/4bb26f2885ac6930984ee451b952c5a6042f2c0e
patch
Sources
- CVE List CVE-2022-50435
- NVD CVE-2022-50435
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.