CVE-2024-49903

jfs: Fix uaf in dbFreeBits

State
Published
Severity
Not scored
Published
Oct 21, 2024
Updated
Oct 15, 2026
Reserved
Oct 21, 2024

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

jfs: Fix uaf in dbFreeBits

[syzbot reported] ================================================================== BUG: KASAN: slab-use-after-free in __mutex_lock_common kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 Read of size 8 at addr ffff8880229254b0 by task syz-executor357/5216

CPU: 0 UID: 0 PID: 5216 Comm: syz-executor357 Not tainted 6.11.0-rc3-syzkaller-00156-gd7a5aa4b3c00 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/27/2024 Call Trace: <TASK> __dump_stack lib/dump_stack.c:93 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:119 print_address_description mm/kasan/report.c:377 [inline] print_report+0x169/0x550 mm/kasan/report.c:488 kasan_report+0x143/0x180 mm/kasan/report.c:601 __mutex_lock_common kernel/locking/mutex.c:587 [inline] __mutex_lock+0xfe/0xd70 kernel/locking/mutex.c:752 dbFreeBits+0x7ea/0xd90 fs/jfs/jfs_dmap.c:2390 dbFreeDmap fs/jfs/jfs_dmap.c:2089 [inline] dbFree+0x35b/0x680 fs/jfs/jfs_dmap.c:409 dbDiscardAG+0x8a9/0xa20 fs/jfs/jfs_dmap.c:1650 jfs_ioc_trim+0x433/0x670 fs/jfs/jfs_discard.c:100 jfs_ioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl+0xfc/0x170 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83

Freed by task 5218: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:579 poison_slab_object+0xe0/0x150 mm/kasan/common.c:240 __kasan_slab_free+0x37/0x60 mm/kasan/common.c:256 kasan_slab_free include/linux/kasan.h:184 [inline] slab_free_hook mm/slub.c:2252 [inline] slab_free mm/slub.c:4473 [inline] kfree+0x149/0x360 mm/slub.c:4594 dbUnmount+0x11d/0x190 fs/jfs/jfs_dmap.c:278 jfs_mount_rw+0x4ac/0x6a0 fs/jfs/jfs_mount.c:247 jfs_remount+0x3d1/0x6b0 fs/jfs/super.c:454 reconfigure_super+0x445/0x880 fs/super.c:1083 vfs_cmd_reconfigure fs/fsopen.c:263 [inline] vfs_fsconfig_locked fs/fsopen.c:292 [inline] __do_sys_fsconfig fs/fsopen.c:473 [inline] __se_sys_fsconfig+0xb6e/0xf80 fs/fsopen.c:345 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f

[Analysis] There are two paths (dbUnmount and jfs_ioc_trim) that generate race condition when accessing bmap, which leads to the occurrence of uaf.

Use the lock s_umount to synchronize them, in order to avoid uaf caused by race condition.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before 4ac58f7734937f3249da734ede946dfb3b1af5e4Affected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before 3126ccde51f51b0648c8cdccaf916e8bd062e972Affected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before fd026b6b6758d5569705c02540b40f3bbf822b9aAffected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before e7ae14f7ee76c6ef5a48aebab1a278ad78f42619Affected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before 0c238da83f56bb895cab1e5851d034ac45b158d1Affected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before 4218b31ecc7af7e191768d32e32ed4386d8f9b76Affected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before a9603a6f75df2fd8125cd208c98cfaa0fe3f7505Affected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before 95accb7183badca387f7a8d19a2475cf3089f148Affected
  • b40c2e665cd552eae5fbdbb878bc29a34357668e to before d6c1b3599b2feb5c7291f5ac3a36e5fa7cedb234Affected
LinuxLinux
  • 3.7Affected
  • before 3.7Not affected
  • 4.19.323 through 4.19.*Not affected
  • 5.4.285 through 5.4.*Not affected
  • 5.10.227 through 5.10.*Not affected
  • 5.15.168 through 5.15.*Not affected
  • 6.1.113 through 6.1.*Not affected
  • 6.6.55 through 6.6.*Not affected
  • 6.10.14 through 6.10.*Not affected
  • 6.11.3 through 6.11.*Not affected
  • 6.12 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.