[v5.15] UBSAN: shift-out-of-bounds in exfat_fill_super (2)

0 views
Skip to first unread message

syzbot

unread,
Sep 21, 2025, 2:12:27 PMSep 21
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 43bb85222e53 Linux 5.15.193
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=143a08e2580000
kernel config: https://syzkaller.appspot.com/x/.config?x=e1bb6d24ef2164eb
dashboard link: https://syzkaller.appspot.com/bug?extid=84d69a20f88fd2cc8e89
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/aa8fda38f146/disk-43bb8522.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/5cfcd43783fc/vmlinux-43bb8522.xz
kernel image: https://storage.googleapis.com/syzbot-assets/582ede77e278/bzImage-43bb8522.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+84d69a...@syzkaller.appspotmail.com

exFAT-fs (loop4): Medium has reported failures. Some data may be lost.
================================================================================
UBSAN: shift-out-of-bounds in fs/exfat/super.c:520:38
shift exponent 116 is too large for 32-bit type 'int'
CPU: 1 PID: 12634 Comm: syz.4.1944 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
<TASK>
dump_stack_lvl+0x168/0x230 lib/dump_stack.c:106
ubsan_epilogue+0xa/0x30 lib/ubsan.c:151
__ubsan_handle_shift_out_of_bounds+0x37c/0x400 lib/ubsan.c:321
exfat_read_boot_sector fs/exfat/super.c:520 [inline]
__exfat_fill_super fs/exfat/super.c:576 [inline]
exfat_fill_super+0x2943/0x2cf0 fs/exfat/super.c:644
get_tree_bdev+0x3f1/0x610 fs/super.c:1325
vfs_get_tree+0x88/0x270 fs/super.c:1530
do_new_mount+0x24a/0xa40 fs/namespace.c:3025
do_mount fs/namespace.c:3368 [inline]
__do_sys_mount fs/namespace.c:3576 [inline]
__se_sys_mount+0x2d6/0x3c0 fs/namespace.c:3553
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fccdbc683ca
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 1a 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fccd9ecde68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007fccd9ecdef0 RCX: 00007fccdbc683ca
RDX: 00002000000005c0 RSI: 0000200000000240 RDI: 00007fccd9ecdeb0
RBP: 00002000000005c0 R08: 00007fccd9ecdef0 R09: 0000000003800052
R10: 0000000003800052 R11: 0000000000000246 R12: 0000200000000240
R13: 00007fccd9ecdeb0 R14: 00000000000014fe R15: 0000200000000600
</TASK>
================================================================================


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Sep 21, 2025, 3:39:34 PMSep 21
to syzkaller...@googlegroups.com
syzbot has found a reproducer for the following issue on:

HEAD commit: 43bb85222e53 Linux 5.15.193
git tree: linux-5.15.y
console output: https://syzkaller.appspot.com/x/log.txt?x=1719d0e2580000
kernel config: https://syzkaller.appspot.com/x/.config?x=e1bb6d24ef2164eb
dashboard link: https://syzkaller.appspot.com/bug?extid=84d69a20f88fd2cc8e89
compiler: Debian clang version 20.1.8 (++20250708063551+0c9f909b7976-1~exp1~20250708183702.136), Debian LLD 20.1.8
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=123fbc7c580000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=163fbc7c580000
mounted in repro: https://storage.googleapis.com/syzbot-assets/a21067057984/mount_0.gz
fsck result: failed (log: https://syzkaller.appspot.com/x/fsck.log?x=13f00142580000)

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+84d69a...@syzkaller.appspotmail.com

WARNING: The mand mount option has been deprecated and
and is ignored by this kernel. Remove the mand
option from the mount to silence this warning.
=======================================================
exFAT-fs (loop0): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
exFAT-fs (loop0): Medium has reported failures. Some data may be lost.
================================================================================
UBSAN: shift-out-of-bounds in fs/exfat/super.c:520:38
shift exponent 116 is too large for 32-bit type 'int'
CPU: 0 PID: 4343 Comm: syz.0.17 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
<TASK>
dump_stack_lvl+0x168/0x230 lib/dump_stack.c:106
ubsan_epilogue+0xa/0x30 lib/ubsan.c:151
__ubsan_handle_shift_out_of_bounds+0x37c/0x400 lib/ubsan.c:321
exfat_read_boot_sector fs/exfat/super.c:520 [inline]
__exfat_fill_super fs/exfat/super.c:576 [inline]
exfat_fill_super+0x2943/0x2cf0 fs/exfat/super.c:644
get_tree_bdev+0x3f1/0x610 fs/super.c:1325
vfs_get_tree+0x88/0x270 fs/super.c:1530
do_new_mount+0x24a/0xa40 fs/namespace.c:3025
do_mount fs/namespace.c:3368 [inline]
__do_sys_mount fs/namespace.c:3576 [inline]
__se_sys_mount+0x2d6/0x3c0 fs/namespace.c:3553
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f8f5fe333ca
Code: d8 64 89 02 48 c7 c0 ff ff ff ff eb a6 e8 de 1a 00 00 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f8f5f4a0e68 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 00007f8f5f4a0ef0 RCX: 00007f8f5fe333ca
RDX: 00002000000005c0 RSI: 0000200000000240 RDI: 00007f8f5f4a0eb0
RBP: 00002000000005c0 R08: 00007f8f5f4a0ef0 R09: 0000000003800052
R10: 0000000003800052 R11: 0000000000000246 R12: 0000200000000240
R13: 00007f8f5f4a0eb0 R14: 00000000000014fe R15: 0000200000000600
</TASK>
================================================================================


---
If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.
Reply all
Reply to author
Forward
0 new messages