CVE-2023-52599

jfs: fix array-index-out-of-bounds in diNewExt

State
Published
Severity
7.8 High
Published
Mar 6, 2024
Updated
Aug 5, 2026
Reserved
Mar 2, 2024

Read the record on cve.org

Description

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

jfs: fix array-index-out-of-bounds in diNewExt

[Syz report] UBSAN: array-index-out-of-bounds in fs/jfs/jfs_imap.c:2360:2 index -878706688 is out of range for type 'struct iagctl[128]' CPU: 1 PID: 5065 Comm: syz-executor282 Not tainted 6.7.0-rc4-syzkaller-00009-gbee0e7762ad2 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 11/10/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 diNewExt+0x3cf3/0x4000 fs/jfs/jfs_imap.c:2360 diAllocExt fs/jfs/jfs_imap.c:1949 [inline] diAllocAG+0xbe8/0x1e50 fs/jfs/jfs_imap.c:1666 diAlloc+0x1d3/0x1760 fs/jfs/jfs_imap.c:1587 ialloc+0x8f/0x900 fs/jfs/jfs_inode.c:56 jfs_mkdir+0x1c5/0xb90 fs/jfs/namei.c:225 vfs_mkdir+0x2f1/0x4b0 fs/namei.c:4106 do_mkdirat+0x264/0x3a0 fs/namei.c:4129 __do_sys_mkdir fs/namei.c:4149 [inline] __se_sys_mkdir fs/namei.c:4147 [inline] __x64_sys_mkdir+0x6e/0x80 fs/namei.c:4147 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x45/0x110 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x63/0x6b RIP: 0033:0x7fcb7e6a0b57 Code: ff ff 77 07 31 c0 c3 0f 1f 40 00 48 c7 c2 b8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff c3 66 0f 1f 44 00 00 b8 53 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffd83023038 EFLAGS: 00000286 ORIG_RAX: 0000000000000053 RAX: ffffffffffffffda RBX: 00000000ffffffff RCX: 00007fcb7e6a0b57 RDX: 00000000000a1020 RSI: 00000000000001ff RDI: 0000000020000140 RBP: 0000000020000140 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000286 R12: 00007ffd830230d0 R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000

[Analysis] When the agstart is too large, it can cause agno overflow.

[Fix] After obtaining agno, if the value is invalid, exit the subsequent process.

Modified the test from agno > MAXAG to agno >= MAXAG based on linux-next report by kernel test robot (Dan Carpenter).

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before f423528488e4f9606cef858eceea210bf1163f41Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before de6a91aed1e0b1a23e9c11e7d7557f088eeeb017Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before e2b77d107b33bb31c8b1f5c4cb8f277b23728f1eAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 6aa30020879042d46df9f747e4f0a486eea6fe98Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 3537f92cd22c672db97fae6997481e678ad14641Affected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 6996d43b14486f4a6655b10edc541ada1b580b4bAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 5a6660139195f5e2fbbda459eeecb8788f3885feAffected
  • 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 to before 49f9637aafa6e63ba686c13cb8549bf5e6920402Affected
LinuxLinux
  • 2.6.12Affected
  • before 2.6.12Not affected
  • 4.19.307 through 4.19.*Not affected
  • 5.4.269 through 5.4.*Not affected
  • 5.10.210 through 5.10.*Not affected
  • 5.15.149 through 5.15.*Not affected
  • 6.1.77 through 6.1.*Not affected
  • 6.6.16 through 6.6.*Not affected
  • 6.7.4 through 6.7.*Not affected
  • 6.8 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.