CVE-2024-49903

Source
https://cve.org/CVERecord?id=CVE-2024-49903
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49903.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-49903
Downstream
Related
Published
2024-10-21T18:01:34.603Z
Modified
2026-05-28T03:52:45.065856730Z
Summary
jfs: Fix uaf in dbFreeBits
Details

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

jfs: Fix uaf in dbFreeBits

[syzbot reported]

BUG: KASAN: slab-use-after-free in __mutexlockcommon kernel/locking/mutex.c:587 [inline] BUG: KASAN: slab-use-after-free in _mutexlock+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> __dumpstack lib/dumpstack.c:93 [inline] dump_stacklvl+0x241/0x360 lib/dumpstack.c:119 printaddressdescription mm/kasan/report.c:377 [inline] printreport+0x169/0x550 mm/kasan/report.c:488 kasanreport+0x143/0x180 mm/kasan/report.c:601 __mutexlockcommon kernel/locking/mutex.c:587 [inline] __mutexlock+0xfe/0xd70 kernel/locking/mutex.c:752 dbFreeBits+0x7ea/0xd90 fs/jfs/jfsdmap.c:2390 dbFreeDmap fs/jfs/jfsdmap.c:2089 [inline] dbFree+0x35b/0x680 fs/jfs/jfsdmap.c:409 dbDiscardAG+0x8a9/0xa20 fs/jfs/jfsdmap.c:1650 jfsioctrim+0x433/0x670 fs/jfs/jfsdiscard.c:100 jfsioctl+0x2d0/0x3e0 fs/jfs/ioctl.c:131 vfsioctl fs/ioctl.c:51 [inline] __dosysioctl fs/ioctl.c:907 [inline] __sesysioctl+0xfc/0x170 fs/ioctl.c:893 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xf3/0x230 arch/x86/entry/common.c:83

Freed by task 5218: kasansavestack mm/kasan/common.c:47 [inline] kasansavetrack+0x3f/0x80 mm/kasan/common.c:68 kasansavefreeinfo+0x40/0x50 mm/kasan/generic.c:579 poisonslab_object+0xe0/0x150 mm/kasan/common.c:240 __kasanslabfree+0x37/0x60 mm/kasan/common.c:256 kasanslabfree include/linux/kasan.h:184 [inline] slabfreehook mm/slub.c:2252 [inline] slabfree mm/slub.c:4473 [inline] kfree+0x149/0x360 mm/slub.c:4594 dbUnmount+0x11d/0x190 fs/jfs/jfsdmap.c:278 jfsmountrw+0x4ac/0x6a0 fs/jfs/jfsmount.c:247 jfsremount+0x3d1/0x6b0 fs/jfs/super.c:454 reconfiguresuper+0x445/0x880 fs/super.c:1083 vfscmdreconfigure fs/fsopen.c:263 [inline] vfsfsconfig_locked fs/fsopen.c:292 [inline] __dosysfsconfig fs/fsopen.c:473 [inline] __sesysfsconfig+0xb6e/0xf80 fs/fsopen.c:345 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xf3/0x230 arch/x86/entry/common.c:83 entrySYSCALL64afterhwframe+0x77/0x7f

[Analysis] There are two paths (dbUnmount and jfsioctrim) 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.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/49xxx/CVE-2024-49903.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
b40c2e665cd552eae5fbdbb878bc29a34357668e
Fixed
4ac58f7734937f3249da734ede946dfb3b1af5e4
Fixed
3126ccde51f51b0648c8cdccaf916e8bd062e972
Fixed
fd026b6b6758d5569705c02540b40f3bbf822b9a
Fixed
e7ae14f7ee76c6ef5a48aebab1a278ad78f42619
Fixed
0c238da83f56bb895cab1e5851d034ac45b158d1
Fixed
4218b31ecc7af7e191768d32e32ed4386d8f9b76
Fixed
a9603a6f75df2fd8125cd208c98cfaa0fe3f7505
Fixed
95accb7183badca387f7a8d19a2475cf3089f148
Fixed
d6c1b3599b2feb5c7291f5ac3a36e5fa7cedb234

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49903.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
3.7.0
Fixed
4.19.323
Type
ECOSYSTEM
Events
Introduced
4.20.0
Fixed
5.4.285
Type
ECOSYSTEM
Events
Introduced
5.5.0
Fixed
5.10.227
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.168
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.1.113
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.55
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.10.14
Type
ECOSYSTEM
Events
Introduced
6.11.0
Fixed
6.11.3

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-49903.json"