Bug 2307898 (CVE-2024-44939) - CVE-2024-44939 kernel: jfs: fix null ptr deref in dtInsertEntry
Summary: CVE-2024-44939 kernel: jfs: fix null ptr deref in dtInsertEntry
Keywords:
Status: NEW
Alias: CVE-2024-44939
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On: 2308140
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-08-26 12:20 UTC by OSIDB Bzimport
Modified: 2024-08-28 15:32 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2024-08-26 12:20:38 UTC
In the Linux kernel, the following vulnerability has been resolved:

jfs: fix null ptr deref in dtInsertEntry

[syzbot reported]
general protection fault, probably for non-canonical address 0xdffffc0000000001: 0000 [#1] PREEMPT SMP KASAN PTI
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 0 PID: 5061 Comm: syz-executor404 Not tainted 6.8.0-syzkaller-08951-gfe46a7dd189e #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
RIP: 0010:dtInsertEntry+0xd0c/0x1780 fs/jfs/jfs_dtree.c:3713
...
[Analyze]
In dtInsertEntry(), when the pointer h has the same value as p, after writing
name in UniStrncpy_to_le(), p->header.flag will be cleared. This will cause the
previously true judgment "p->header.flag & BT-LEAF" to change to no after writing
the name operation, this leads to entering an incorrect branch and accessing the
uninitialized object ih when judging this condition for the second time.

[Fix]
After got the page, check freelist first, if freelist == 0 then exit dtInsert()
and return -EINVAL.

Comment 1 Mauro Matteo Cascella 2024-08-27 12:20:53 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2024082619-CVE-2024-44939-cf96@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.