CVE-2024-49903
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
21/10/2024
Last modified:
03/11/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
jfs: Fix uaf in dbFreeBits<br />
<br />
[syzbot reported]<br />
==================================================================<br />
BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline]<br />
BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752<br />
Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216<br />
<br />
CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0<br />
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024<br />
Call Trace:<br />
<br />
__dump_stack lib/dump_stack.c:93 [inline]<br />
dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119<br />
print_address_description mm/kasan/report.c:377 [inline]<br />
print_report+0x169/0x550 mm/kasan/report.c:488<br />
kasan_report+0x143/0x180 mm/kasan/report.c:601<br />
__mutex_lock_common kernel/locking/mutex.c:587 [inline]<br />
__mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752<br />
dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390<br />
dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline]<br />
dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409<br />
dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650<br />
jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100<br />
jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131<br />
vfs_ioctl fs/ioctl.c:51 [inline]<br />
__do_sys_ioctl fs/ioctl.c:907 [inline]<br />
__se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893<br />
do_syscall_x64 arch/x86/entry/common.c:52 [inline]<br />
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83<br />
<br />
Freed by task 5218:<br />
kasan_save_stack mm/kasan/common.c:47 [inline]<br />
kasan_save_track+0x3f/0x80 mm/kasan/common.c:68<br />
kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579<br />
poison_slab_object+0xe0/0x150 mm/kasan/common.c:240<br />
__kasan_slab_free+0x37/0x60 mm/kasan/common.c:256<br />
kasan_slab_free include/linux/kasan.h:184 [inline]<br />
slab_free_hook mm/slub.c:2252 [inline]<br />
slab_free mm/slub.c:4473 [inline]<br />
kfree+0x149/0x360 mm/slub.c:4594<br />
dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278<br />
jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247<br />
jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454<br />
reconfigure_super+0x445/0x880 fs/super.c:1083<br />
vfs_cmd_reconfigure fs/fsopen.c:263 [inline]<br />
vfs_fsconfig_locked fs/fsopen.c:292 [inline]<br />
__do_sys_fsconfig fs/fsopen.c:473 [inline]<br />
__se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345<br />
do_syscall_x64 arch/x86/entry/common.c:52 [inline]<br />
do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83<br />
entry_SYSCALL_64_after_hwframe+0x77/0x7f<br />
<br />
[Analysis]<br />
There are two paths (dbUnmount and jfs_ioc_trim) that generate race<br />
condition when accessing bmap, which leads to the occurrence of uaf.<br />
<br />
Use the lock s_umount to synchronize them, in order to avoid uaf caused<br />
by race condition.
Impact
Base Score 3.x
7.00
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.10.227 (excluding) | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.168 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.113 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.55 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.10.14 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.11 (including) | 6.11.3 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0c238da83f56bb895cab1e5851d034ac45b158d1
- https://git.kernel.org/stable/c/3126ccde51f51b0648c8cdccaf916e8bd062e972
- https://git.kernel.org/stable/c/4218b31ecc7af7e191768d32e32ed4386d8f9b76
- https://git.kernel.org/stable/c/4ac58f7734937f3249da734ede946dfb3b1af5e4
- https://git.kernel.org/stable/c/95accb7183badca387f7a8d19a2475cf3089f148
- https://git.kernel.org/stable/c/a9603a6f75df2fd8125cd208c98cfaa0fe3f7505
- https://git.kernel.org/stable/c/d6c1b3599b2feb5c7291f5ac3a36e5fa7cedb234
- https://git.kernel.org/stable/c/e7ae14f7ee76c6ef5a48aebab1a278ad78f42619
- https://git.kernel.org/stable/c/fd026b6b6758d5569705c02540b40f3bbf822b9a
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
- https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html



