CVE-2023-53100

EUVD-2025-13162
In the Linux kernel, the following vulnerability has been resolved:

ext4: fix WARNING in ext4_update_inline_data

Syzbot found the following issue:
EXT4-fs (loop0): mounted filesystem 00000000-0000-0000-0000-000000000000 without journal. Quota mode: none.
fscrypt: AES-256-CTS-CBC using implementation "cts-cbc-aes-aesni"
fscrypt: AES-256-XTS using implementation "xts-aes-aesni"
------------[ cut here ]------------
WARNING: CPU: 0 PID: 5071 at mm/page_alloc.c:5525 __alloc_pages+0x30a/0x560 mm/page_alloc.c:5525
Modules linked in:
CPU: 1 PID: 5071 Comm: syz-executor263 Not tainted 6.2.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
RIP: 0010:__alloc_pages+0x30a/0x560 mm/page_alloc.c:5525
RSP: 0018:ffffc90003c2f1c0 EFLAGS: 00010246
RAX: ffffc90003c2f220 RBX: 0000000000000014 RCX: 0000000000000000
RDX: 0000000000000028 RSI: 0000000000000000 RDI: ffffc90003c2f248
RBP: ffffc90003c2f2d8 R08: dffffc0000000000 R09: ffffc90003c2f220
R10: fffff52000785e49 R11: 1ffff92000785e44 R12: 0000000000040d40
R13: 1ffff92000785e40 R14: dffffc0000000000 R15: 1ffff92000785e3c
FS:  0000555556c0d300(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f95d5e04138 CR3: 00000000793aa000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <TASK>
 __alloc_pages_node include/linux/gfp.h:237 [inline]
 alloc_pages_node include/linux/gfp.h:260 [inline]
 __kmalloc_large_node+0x95/0x1e0 mm/slab_common.c:1113
 __do_kmalloc_node mm/slab_common.c:956 [inline]
 __kmalloc+0xfe/0x190 mm/slab_common.c:981
 kmalloc include/linux/slab.h:584 [inline]
 kzalloc include/linux/slab.h:720 [inline]
 ext4_update_inline_data+0x236/0x6b0 fs/ext4/inline.c:346
 ext4_update_inline_dir fs/ext4/inline.c:1115 [inline]
 ext4_try_add_inline_entry+0x328/0x990 fs/ext4/inline.c:1307
 ext4_add_entry+0x5a4/0xeb0 fs/ext4/namei.c:2385
 ext4_add_nondir+0x96/0x260 fs/ext4/namei.c:2772
 ext4_create+0x36c/0x560 fs/ext4/namei.c:2817
 lookup_open fs/namei.c:3413 [inline]
 open_last_lookups fs/namei.c:3481 [inline]
 path_openat+0x12ac/0x2dd0 fs/namei.c:3711
 do_filp_open+0x264/0x4f0 fs/namei.c:3741
 do_sys_openat2+0x124/0x4e0 fs/open.c:1310
 do_sys_open fs/open.c:1326 [inline]
 __do_sys_openat fs/open.c:1342 [inline]
 __se_sys_openat fs/open.c:1337 [inline]
 __x64_sys_openat+0x243/0x290 fs/open.c:1337
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Above issue happens as follows:
ext4_iget
   ext4_find_inline_data_nolock ->i_inline_off=164 i_inline_size=60
ext4_try_add_inline_entry
   __ext4_mark_inode_dirty
      ext4_expand_extra_isize_ea ->i_extra_isize=32 s_want_extra_isize=44
         ext4_xattr_shift_entries
	 ->after shift i_inline_off is incorrect, actually is change to 176
ext4_try_add_inline_entry
  ext4_update_inline_dir
    get_max_inline_xattr_value_size
      if (EXT4_I(inode)->i_inline_off)
	entry = (struct ext4_xattr_entry *)((void *)raw_inode +
			EXT4_I(inode)->i_inline_off);
        free += EXT4_XATTR_SIZE(le32_to_cpu(entry->e_value_size));
	->As entry is incorrect, then 'free' may be negative
   ext4_update_inline_data
      value = kzalloc(len, GFP_NOFS);
      -> len is unsigned int, maybe very large, then trigger warning when
         'kzalloc()'

To resolve the above issue we need to update 'i_inline_off' after
'ext4_xattr_shift_entries()'.  We do not need to set
EXT4_STATE_MAY_INLINE_DATA flag here, since ext4_mark_inode_dirty()
already sets this flag if needed.  Setting EXT4_STATE_MAY_INLINE_DATA
when it is needed may trigger a BUG_ON in ext4_writepages().
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 20%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
𝑥
< 4.14.310
linuxlinux_kernel
4.15 ≤
𝑥
< 4.19.278
linuxlinux_kernel
4.20 ≤
𝑥
< 5.4.237
linuxlinux_kernel
5.5 ≤
𝑥
< 5.10.175
linuxlinux_kernel
5.11 ≤
𝑥
< 5.15.103
linuxlinux_kernel
5.16 ≤
𝑥
< 6.1.20
linuxlinux_kernel
6.2 ≤
𝑥
< 6.2.7
linuxlinux_kernel
6.3:rc1
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.129-1
fixed
bookworm (security)
6.1.135-1
fixed
bullseye
5.10.223-1
fixed
bullseye (security)
5.10.234-1
fixed
sid
6.12.25-1
fixed
trixie
6.12.22-1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
cluster-md-kmp-default
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
dlm-kmp-default
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
gfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-64kb
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-default
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-default-base
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.167.1.150400.24.84.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1.150500.6.51.3
fixed
kernel-default-man
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
kernel-docs
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-macros
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-obs-build
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-source
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-syms
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
kernel-zfcpdump
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
ocfs2-kmp-default
suse enterprise server 12 SP5
4.12.14-122.261.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
reiserfs-kmp-default
suse enterprise server 15 SP4
5.14.21-150400.24.167.1
fixed
suse enterprise server 15 SP5
5.14.21-150500.55.110.1
fixed
Red Hat logo
Red Hat Enterprise Linux Releases
Red Hat Product
Release
bpftool
RHEL 9
0:7.2.0-362.8.1.el9_3
fixed
kernel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-debug-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-64k-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-abi-stablelists
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-debug-uki-virt
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-doc
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-kvm
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-debug-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-kvm
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-rt-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-tools
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-tools-libs
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-tools-libs-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-uki-virt
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-devel
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-devel-matched
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-modules
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-modules-core
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
kernel-zfcpdump-modules-extra
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
libperf
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
perf
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
python3-perf
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
rtla
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed
rv
RHEL 9
0:5.14.0-362.8.1.el9_3
fixed