UBUNTU-CVE-2023-52599
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).
02 / AFFECTED SOFTWARE
Affected packages
7 explicit affected versions
29 explicit affected versions
41 explicit affected versions
50 explicit affected versions
6 explicit affected versions
12 explicit affected versions
16 explicit affected versions
6 explicit affected versions
50 explicit affected versions
36 explicit affected versions
57 explicit affected versions
47 explicit affected versions
36 explicit affected versions
7 explicit affected versions
43 explicit affected versions
191 explicit affected versions
7 explicit affected versions
44 explicit affected versions
84 explicit affected versions
9 explicit affected versions
66 explicit affected versions
35 explicit affected versions
3 explicit affected versions
14 explicit affected versions
18 explicit affected versions
5 explicit affected versions
97 explicit affected versions
30 explicit affected versions
86 explicit affected versions
13 explicit affected versions
4 explicit affected versions
23 explicit affected versions
102 explicit affected versions
1 explicit affected versions
21 explicit affected versions
9 explicit affected versions
16 explicit affected versions
10 explicit affected versions
41 explicit affected versions
7 explicit affected versions
12 explicit affected versions
34 explicit affected versions
12 explicit affected versions
10 explicit affected versions
7 explicit affected versions
74 explicit affected versions
12 explicit affected versions
89 explicit affected versions
97 explicit affected versions
12 explicit affected versions
85 explicit affected versions
10 explicit affected versions
10 explicit affected versions
168 explicit affected versions
37 explicit affected versions
101 explicit affected versions
9 explicit affected versions
10 explicit affected versions
23 explicit affected versions
1 explicit affected versions
27 explicit affected versions
26 explicit affected versions
13 explicit affected versions
4 explicit affected versions
1 explicit affected versions
29 explicit affected versions
78 explicit affected versions
13 explicit affected versions
47 explicit affected versions
1 explicit affected versions
73 explicit affected versions
45 explicit affected versions
89 explicit affected versions
7 explicit affected versions
33 explicit affected versions
23 explicit affected versions
10 explicit affected versions
95 explicit affected versions
11 explicit affected versions
12 explicit affected versions
118 explicit affected versions
7 explicit affected versions
12 explicit affected versions
88 explicit affected versions
2 explicit affected versions
36 explicit affected versions
28 explicit affected versions
111 explicit affected versions
44 explicit affected versions
131 explicit affected versions
10 explicit affected versions
26 explicit affected versions
23 explicit affected versions
1 explicit affected versions
13 explicit affected versions
118 explicit affected versions
47 explicit affected versions
16 explicit affected versions
47 explicit affected versions
37 explicit affected versions
3 explicit affected versions
72 explicit affected versions
1 explicit affected versions
2 explicit affected versions
54 explicit affected versions
51 explicit affected versions
71 explicit affected versions
1 explicit affected versions
12 explicit affected versions
34 explicit affected versions
25 explicit affected versions
20 explicit affected versions
1 explicit affected versions
1 explicit affected versions
75 explicit affected versions
8 explicit affected versions
8 explicit affected versions
5 explicit affected versions
8 explicit affected versions
1 explicit affected versions
10 explicit affected versions
9 explicit affected versions
77 explicit affected versions
13 explicit affected versions
41 explicit affected versions
7 explicit affected versions
73 explicit affected versions
39 explicit affected versions
10 explicit affected versions
12 explicit affected versions
12 explicit affected versions
76 explicit affected versions
44 explicit affected versions
16 explicit affected versions
3 explicit affected versions
13 explicit affected versions
26 explicit affected versions
33 explicit affected versions
37 explicit affected versions
14 explicit affected versions
38 explicit affected versions
37 explicit affected versions
9 explicit affected versions
36 explicit affected versions
11 explicit affected versions
145 explicit affected versions
44 explicit affected versions
8 explicit affected versions
7 explicit affected versions
18 explicit affected versions
78 explicit affected versions
48 explicit affected versions
122 explicit affected versions
101 explicit affected versions
4 explicit affected versions
1 explicit affected versions
1 explicit affected versions
42 explicit affected versions
94 explicit affected versions
10 explicit affected versions
43 explicit affected versions
42 explicit affected versions
125 explicit affected versions
145 explicit affected versions
10 explicit affected versions
8 explicit affected versions
14 explicit affected versions
77 explicit affected versions
4 explicit affected versions
66 explicit affected versions
7 explicit affected versions
1 explicit affected versions
48 explicit affected versions
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
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).
05 / REFERENCES
Further evidence
- https://git.kernel.org/linus/49f9637aafa6e63ba686c13cb8549bf5e6920402
- https://git.kernel.org/stable/c/3537f92cd22c672db97fae6997481e678ad14641
- https://git.kernel.org/stable/c/49f9637aafa6e63ba686c13cb8549bf5e6920402
- https://git.kernel.org/stable/c/5a6660139195f5e2fbbda459eeecb8788f3885fe
- https://git.kernel.org/stable/c/6996d43b14486f4a6655b10edc541ada1b580b4b
- https://git.kernel.org/stable/c/6aa30020879042d46df9f747e4f0a486eea6fe98
- https://git.kernel.org/stable/c/de6a91aed1e0b1a23e9c11e7d7557f088eeeb017
- https://git.kernel.org/stable/c/e2b77d107b33bb31c8b1f5c4cb8f277b23728f1e
- https://git.kernel.org/stable/c/f423528488e4f9606cef858eceea210bf1163f41
- https://ubuntu.com/security/CVE-2023-52599
- https://ubuntu.com/security/notices/USN-6688-1
- https://ubuntu.com/security/notices/USN-6766-1
- https://ubuntu.com/security/notices/USN-6766-2
- https://ubuntu.com/security/notices/USN-6766-3
- https://ubuntu.com/security/notices/USN-6767-1
- https://ubuntu.com/security/notices/USN-6767-2
- https://ubuntu.com/security/notices/USN-6795-1
- https://ubuntu.com/security/notices/USN-6818-1
- https://ubuntu.com/security/notices/USN-6818-2
- https://ubuntu.com/security/notices/USN-6818-3
- https://ubuntu.com/security/notices/USN-6818-4
- https://ubuntu.com/security/notices/USN-6819-1
- https://ubuntu.com/security/notices/USN-6819-2
- https://ubuntu.com/security/notices/USN-6819-3
- https://ubuntu.com/security/notices/USN-6819-4
- https://ubuntu.com/security/notices/USN-6828-1
- https://ubuntu.com/security/notices/USN-7121-1
- https://ubuntu.com/security/notices/USN-7121-2
- https://ubuntu.com/security/notices/USN-7121-3
- https://ubuntu.com/security/notices/USN-7148-1
- https://www.cve.org/CVERecord?id=CVE-2023-52599