Lucene search

K
ubuntucveUbuntu.comUB:CVE-2023-52604
HistoryMar 06, 2024 - 12:00 a.m.

CVE-2023-52604

2024-03-0600:00:00
ubuntu.com
ubuntu.com
10
linux kernel
resolved
vulnerability
fs
jfs
ubsan
array-index-out-of-bounds
dbadjtree
check
cve-2023-52601

7.5 High

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

13.0%

In the Linux kernel, the following vulnerability has been resolved:
FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree Syzkaller reported the
following issue: UBSAN: array-index-out-of-bounds in
fs/jfs/jfs_dmap.c:2867:6 index 196694 is out of range for type ‘s8[1365]’
(aka ‘signed char[1365]’) CPU: 1 PID: 109 Comm: jfsCommit Not tainted
6.6.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google
Compute Engine, BIOS Google 08/04/2023 Call Trace: <TASK> __dump_stack
lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1e7/0x2d0
lib/dump_stack.c:106 ubsan_epilogue lib/ubsan.c:217 [inline]
__ubsan_handle_out_of_bounds+0x11c/0x150 lib/ubsan.c:348
dbAdjTree+0x474/0x4f0 fs/jfs/jfs_dmap.c:2867 dbJoin+0x210/0x2d0
fs/jfs/jfs_dmap.c:2834 dbFreeBits+0x4eb/0xda0 fs/jfs/jfs_dmap.c:2331
dbFreeDmap fs/jfs/jfs_dmap.c:2080 [inline] dbFree+0x343/0x650
fs/jfs/jfs_dmap.c:402 txFreeMap+0x798/0xd50 fs/jfs/jfs_txnmgr.c:2534
txUpdateMap+0x342/0x9e0 txLazyCommit fs/jfs/jfs_txnmgr.c:2664 [inline]
jfs_lazycommit+0x47a/0xb70 fs/jfs/jfs_txnmgr.c:2732 kthread+0x2d3/0x370
kernel/kthread.c:388 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 </TASK>

Kernel panic - not syncing: UBSAN: panic_on_warn set … CPU: 1 PID: 109
Comm: jfsCommit Not tainted 6.6.0-rc3-syzkaller #0 Hardware name: Google
Google Compute Engine/Google Compute Engine, BIOS Google 08/04/2023 Call
Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0x1e7/0x2d0 lib/dump_stack.c:106 panic+0x30f/0x770
kernel/panic.c:340 check_panic_on_warn+0x82/0xa0 kernel/panic.c:236
ubsan_epilogue lib/ubsan.c:223 [inline]
__ubsan_handle_out_of_bounds+0x13c/0x150 lib/ubsan.c:348
dbAdjTree+0x474/0x4f0 fs/jfs/jfs_dmap.c:2867 dbJoin+0x210/0x2d0
fs/jfs/jfs_dmap.c:2834 dbFreeBits+0x4eb/0xda0 fs/jfs/jfs_dmap.c:2331
dbFreeDmap fs/jfs/jfs_dmap.c:2080 [inline] dbFree+0x343/0x650
fs/jfs/jfs_dmap.c:402 txFreeMap+0x798/0xd50 fs/jfs/jfs_txnmgr.c:2534
txUpdateMap+0x342/0x9e0 txLazyCommit fs/jfs/jfs_txnmgr.c:2664 [inline]
jfs_lazycommit+0x47a/0xb70 fs/jfs/jfs_txnmgr.c:2732 kthread+0x2d3/0x370
kernel/kthread.c:388 ret_from_fork+0x48/0x80 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304 </TASK> Kernel
Offset: disabled Rebooting in 86400 seconds… The issue is caused when the
value of lp becomes greater than CTLTREESIZE which is the max size of
stree. Adding a simple check solves this issue. Dave: As the function
returns a void, good error handling would require a more intrusive code
reorganization, so I modified Osama’s patch at use WARN_ON_ONCE for lack of
a cleaner option. The patch is tested via syzbot.

Bugs

Notes

Author Note
sbeattie the added check that “fixes” this issue gets removed as part of the commit that fixes CVE-2023-52601, 74ecdda68242 (“jfs: fix array-index-out-of-bounds in dbAdjTree”)
cengizcan the fix to CVE-2023-52601 also fixes this.
rodrigo-zaiden USN-6765-1 for linux-oem-6.5 wrongly stated that this CVE was fixed in version 6.5.0-1022.23. The mentioned notice was revoked and the state of the fix for linux-oem-6.5 was recovered to the previous state.
Rows per page:
1-10 of 951

References

7.5 High

AI Score

Confidence

High

0.0004 Low

EPSS

Percentile

13.0%