vulnerability

Ubuntu: (Multiple Advisories) (CVE-2023-52604): Linux kernel (OEM) vulnerabilities

Severity
7
CVSS
(AV:L/AC:L/Au:S/C:C/I:C/A:C)
Published
Mar 6, 2024
Added
Mar 12, 2024
Modified
Aug 18, 2025

Description

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.

Solutions

ubuntu-upgrade-linux-image-4-15-0-1131-oracleubuntu-upgrade-linux-image-4-15-0-1152-kvmubuntu-upgrade-linux-image-4-15-0-1162-gcpubuntu-upgrade-linux-image-4-15-0-1168-awsubuntu-upgrade-linux-image-4-15-0-1177-azureubuntu-upgrade-linux-image-4-15-0-225-genericubuntu-upgrade-linux-image-4-15-0-225-lowlatencyubuntu-upgrade-linux-image-4-4-0-1131-awsubuntu-upgrade-linux-image-4-4-0-1132-kvmubuntu-upgrade-linux-image-4-4-0-1169-awsubuntu-upgrade-linux-image-4-4-0-254-genericubuntu-upgrade-linux-image-4-4-0-254-lowlatencyubuntu-upgrade-linux-image-5-15-0-1044-gkeopubuntu-upgrade-linux-image-5-15-0-1054-ibmubuntu-upgrade-linux-image-5-15-0-1054-nvidiaubuntu-upgrade-linux-image-5-15-0-1054-nvidia-lowlatencyubuntu-upgrade-linux-image-5-15-0-1054-raspiubuntu-upgrade-linux-image-5-15-0-1057-intel-iotgubuntu-upgrade-linux-image-5-15-0-1058-gkeubuntu-upgrade-linux-image-5-15-0-1058-intel-iotgubuntu-upgrade-linux-image-5-15-0-1058-kvmubuntu-upgrade-linux-image-5-15-0-1059-gcpubuntu-upgrade-linux-image-5-15-0-1059-oracleubuntu-upgrade-linux-image-5-15-0-106-genericubuntu-upgrade-linux-image-5-15-0-106-generic-64kubuntu-upgrade-linux-image-5-15-0-106-generic-lpaeubuntu-upgrade-linux-image-5-15-0-106-lowlatencyubuntu-upgrade-linux-image-5-15-0-106-lowlatency-64kubuntu-upgrade-linux-image-5-15-0-1061-awsubuntu-upgrade-linux-image-5-15-0-1063-azureubuntu-upgrade-linux-image-5-15-0-1063-azure-fdeubuntu-upgrade-linux-image-5-4-0-1036-iotubuntu-upgrade-linux-image-5-4-0-1043-xilinx-zynqmpubuntu-upgrade-linux-image-5-4-0-1071-ibmubuntu-upgrade-linux-image-5-4-0-1084-bluefieldubuntu-upgrade-linux-image-5-4-0-1091-gkeopubuntu-upgrade-linux-image-5-4-0-1108-raspiubuntu-upgrade-linux-image-5-4-0-1112-kvmubuntu-upgrade-linux-image-5-4-0-1123-oracleubuntu-upgrade-linux-image-5-4-0-1124-awsubuntu-upgrade-linux-image-5-4-0-1128-gcpubuntu-upgrade-linux-image-5-4-0-1129-azureubuntu-upgrade-linux-image-5-4-0-181-genericubuntu-upgrade-linux-image-5-4-0-181-generic-lpaeubuntu-upgrade-linux-image-5-4-0-181-lowlatencyubuntu-upgrade-linux-image-6-1-0-1035-oemubuntu-upgrade-linux-image-6-5-0-1014-starfiveubuntu-upgrade-linux-image-6-5-0-1016-laptopubuntu-upgrade-linux-image-6-5-0-1017-raspiubuntu-upgrade-linux-image-6-5-0-1019-nvidiaubuntu-upgrade-linux-image-6-5-0-1019-nvidia-64kubuntu-upgrade-linux-image-6-5-0-1020-awsubuntu-upgrade-linux-image-6-5-0-1020-gcpubuntu-upgrade-linux-image-6-5-0-1021-azureubuntu-upgrade-linux-image-6-5-0-1021-azure-fdeubuntu-upgrade-linux-image-6-5-0-1023-oemubuntu-upgrade-linux-image-6-5-0-1023-oracleubuntu-upgrade-linux-image-6-5-0-1023-oracle-64kubuntu-upgrade-linux-image-6-5-0-35-genericubuntu-upgrade-linux-image-6-5-0-35-generic-64kubuntu-upgrade-linux-image-6-5-0-35-lowlatencyubuntu-upgrade-linux-image-6-5-0-35-lowlatency-64kubuntu-upgrade-linux-image-awsubuntu-upgrade-linux-image-aws-hweubuntu-upgrade-linux-image-aws-lts-18-04ubuntu-upgrade-linux-image-aws-lts-20-04ubuntu-upgrade-linux-image-aws-lts-22-04ubuntu-upgrade-linux-image-azureubuntu-upgrade-linux-image-azure-cvmubuntu-upgrade-linux-image-azure-fdeubuntu-upgrade-linux-image-azure-fde-lts-22-04ubuntu-upgrade-linux-image-azure-lts-18-04ubuntu-upgrade-linux-image-azure-lts-20-04ubuntu-upgrade-linux-image-azure-lts-22-04ubuntu-upgrade-linux-image-bluefieldubuntu-upgrade-linux-image-gcpubuntu-upgrade-linux-image-gcp-lts-18-04ubuntu-upgrade-linux-image-gcp-lts-20-04ubuntu-upgrade-linux-image-gcp-lts-22-04ubuntu-upgrade-linux-image-genericubuntu-upgrade-linux-image-generic-64kubuntu-upgrade-linux-image-generic-64k-hwe-20-04ubuntu-upgrade-linux-image-generic-64k-hwe-22-04ubuntu-upgrade-linux-image-generic-hwe-16-04ubuntu-upgrade-linux-image-generic-hwe-18-04ubuntu-upgrade-linux-image-generic-hwe-20-04ubuntu-upgrade-linux-image-generic-hwe-22-04ubuntu-upgrade-linux-image-generic-lpaeubuntu-upgrade-linux-image-generic-lpae-hwe-20-04ubuntu-upgrade-linux-image-generic-lts-xenialubuntu-upgrade-linux-image-gkeubuntu-upgrade-linux-image-gke-5-15ubuntu-upgrade-linux-image-gkeopubuntu-upgrade-linux-image-gkeop-5-15ubuntu-upgrade-linux-image-gkeop-5-4ubuntu-upgrade-linux-image-ibmubuntu-upgrade-linux-image-ibm-lts-20-04ubuntu-upgrade-linux-image-intelubuntu-upgrade-linux-image-intel-iotgubuntu-upgrade-linux-image-kvmubuntu-upgrade-linux-image-laptop-23-10ubuntu-upgrade-linux-image-lowlatencyubuntu-upgrade-linux-image-lowlatency-64kubuntu-upgrade-linux-image-lowlatency-64k-hwe-20-04ubuntu-upgrade-linux-image-lowlatency-64k-hwe-22-04ubuntu-upgrade-linux-image-lowlatency-hwe-16-04ubuntu-upgrade-linux-image-lowlatency-hwe-18-04ubuntu-upgrade-linux-image-lowlatency-hwe-20-04ubuntu-upgrade-linux-image-lowlatency-hwe-22-04ubuntu-upgrade-linux-image-lowlatency-lts-xenialubuntu-upgrade-linux-image-nvidiaubuntu-upgrade-linux-image-nvidia-6-5ubuntu-upgrade-linux-image-nvidia-64k-6-5ubuntu-upgrade-linux-image-nvidia-64k-hwe-22-04ubuntu-upgrade-linux-image-nvidia-hwe-22-04ubuntu-upgrade-linux-image-nvidia-lowlatencyubuntu-upgrade-linux-image-oemubuntu-upgrade-linux-image-oem-20-04ubuntu-upgrade-linux-image-oem-20-04bubuntu-upgrade-linux-image-oem-20-04cubuntu-upgrade-linux-image-oem-20-04dubuntu-upgrade-linux-image-oem-22-04ubuntu-upgrade-linux-image-oem-22-04aubuntu-upgrade-linux-image-oem-22-04bubuntu-upgrade-linux-image-oem-22-04cubuntu-upgrade-linux-image-oem-22-04dubuntu-upgrade-linux-image-oem-osp1ubuntu-upgrade-linux-image-oracleubuntu-upgrade-linux-image-oracle-64kubuntu-upgrade-linux-image-oracle-lts-18-04ubuntu-upgrade-linux-image-oracle-lts-20-04ubuntu-upgrade-linux-image-oracle-lts-22-04ubuntu-upgrade-linux-image-raspiubuntu-upgrade-linux-image-raspi-hwe-18-04ubuntu-upgrade-linux-image-raspi-nolpaeubuntu-upgrade-linux-image-raspi2ubuntu-upgrade-linux-image-snapdragon-hwe-18-04ubuntu-upgrade-linux-image-starfiveubuntu-upgrade-linux-image-virtualubuntu-upgrade-linux-image-virtual-hwe-16-04ubuntu-upgrade-linux-image-virtual-hwe-18-04ubuntu-upgrade-linux-image-virtual-hwe-20-04ubuntu-upgrade-linux-image-virtual-hwe-22-04ubuntu-upgrade-linux-image-virtual-lts-xenialubuntu-upgrade-linux-image-xilinx-zynqmp

References

    Title
    NEW

    Explore Exposure Command

    Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.