lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <IA1PR07MB9830B66A4EA036D79BC66CA5ABCE9@IA1PR07MB9830.namprd07.prod.outlook.com>
Date:   Wed, 25 Jan 2023 23:59:07 +0000
From:   Sanan Hasanov <sanan.hasanov@...ghts.ucf.edu>
To:     "anton@...era.com" <anton@...era.com>,
        "linux-ntfs-dev@...ts.sourceforge.net" 
        <linux-ntfs-dev@...ts.sourceforge.net>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
        "glider@...gle.com" <glider@...gle.com>,
        "elver@...gle.com" <elver@...gle.com>,
        "arnd@...db.de" <arnd@...db.de>,
        "yury.norov@...il.com" <yury.norov@...il.com>,
        "andriy.shevchenko@...ux.intel.com" 
        <andriy.shevchenko@...ux.intel.com>,
        "alexandr.lobakin@...el.com" <alexandr.lobakin@...el.com>,
        "mpatocka@...hat.com" <mpatocka@...hat.com>,
        "linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>
CC:     "contact@...zz.com" <contact@...zz.com>,
        "syzkaller@...glegroups.com" <syzkaller@...glegroups.com>
Subject: KASAN: slab-out-of-bounds Read in ntfs_test_inode

Good day, dear maintainers,

We found a bug using a modified kernel configuration file used by syzbot.

We enhanced the coverage of the configuration file using our tool, klocalizer.

Kernel Branch: 6.2.0-rc5-next-20230124
Kernel config: https://drive.google.com/file/d/1F-LszDAizEEH0ZX0HcSR06v5q8FPl2Uv/view?usp=sharing
Reproducer: https://drive.google.com/file/d/1gufgF45viKoO91FN6MNaC3yu_ZSC7cBS/view?usp=sharing

Thank you!

Best regards,
Sanan Hasanov

ntfs: volume version 3.1.
==================================================================
BUG: KASAN: slab-out-of-bounds in instrument_atomic_read include/linux/instrumented.h:72 [inline]
BUG: KASAN: slab-out-of-bounds in _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
BUG: KASAN: slab-out-of-bounds in NInoAttr fs/ntfs/inode.h:200 [inline]
BUG: KASAN: slab-out-of-bounds in ntfs_test_inode+0x9a/0x2f0 fs/ntfs/inode.c:55
Read of size 8 at addr ffff88804360fec0 by task syz-executor.0/7772

CPU: 0 PID: 7772 Comm: syz-executor.0 Not tainted 6.2.0-rc5-next-20230124 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xd1/0x138 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:306 [inline]
 print_report+0x156/0x455 mm/kasan/report.c:417
 kasan_report+0xc0/0xf0 mm/kasan/report.c:517
 check_region_inline mm/kasan/generic.c:183 [inline]
 kasan_check_range+0x144/0x190 mm/kasan/generic.c:189
 instrument_atomic_read include/linux/instrumented.h:72 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 NInoAttr fs/ntfs/inode.h:200 [inline]
 ntfs_test_inode+0x9a/0x2f0 fs/ntfs/inode.c:55
 find_inode+0xe4/0x220 fs/inode.c:916
 ilookup5_nowait fs/inode.c:1429 [inline]
 ilookup5 fs/inode.c:1458 [inline]
 iget5_locked+0xb6/0x270 fs/inode.c:1239
 ntfs_iget+0xa1/0x180 fs/ntfs/inode.c:168
 load_and_check_logfile fs/ntfs/super.c:1216 [inline]
 load_system_files fs/ntfs/super.c:1949 [inline]
 ntfs_fill_super+0x5988/0x9250 fs/ntfs/super.c:2900
 mount_bdev+0x351/0x410 fs/super.c:1359
 legacy_get_tree+0x109/0x220 fs/fs_context.c:610
 vfs_get_tree+0x8d/0x2f0 fs/super.c:1489
 do_new_mount fs/namespace.c:3031 [inline]
 path_mount+0x675/0x1e20 fs/namespace.c:3361
 do_mount fs/namespace.c:3374 [inline]
 __do_sys_mount fs/namespace.c:3583 [inline]
 __se_sys_mount fs/namespace.c:3560 [inline]
 __x64_sys_mount+0x283/0x300 fs/namespace.c:3560
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f815329176e
Code: 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 90 f3 0f 1e fa 49 89 ca b8 a5 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:00007f8154488a08 EFLAGS: 00000206 ORIG_RAX: 00000000000000a5
RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 00007f815329176e
RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f8154488a60
RBP: 00007f8154488aa0 R08: 00007f8154488aa0 R09: 0000000020000000
R10: 0000000000000000 R11: 0000000000000206 R12: 0000000020000000
R13: 0000000020000100 R14: 00007f8154488a60 R15: 0000000020076700
 </TASK>

Allocated by task 7394:
 kasan_save_stack+0x22/0x40 mm/kasan/common.c:45
 kasan_set_track+0x25/0x30 mm/kasan/common.c:52
 __kasan_slab_alloc+0x7f/0x90 mm/kasan/common.c:325
 kasan_slab_alloc include/linux/kasan.h:186 [inline]
 slab_post_alloc_hook mm/slab.h:769 [inline]
 slab_alloc_node mm/slub.c:3452 [inline]
 slab_alloc mm/slub.c:3460 [inline]
 __kmem_cache_alloc_lru mm/slub.c:3467 [inline]
 kmem_cache_alloc_lru+0x20e/0x580 mm/slub.c:3483
 __d_alloc+0x32/0x980 fs/dcache.c:1769
 d_alloc+0x4e/0x240 fs/dcache.c:1849
 __lookup_hash+0xc8/0x180 fs/namei.c:1598
 filename_create+0x1d6/0x4a0 fs/namei.c:3809
 do_mkdirat+0x9d/0x310 fs/namei.c:4053
 __do_sys_mkdirat fs/namei.c:4076 [inline]
 __se_sys_mkdirat fs/namei.c:4074 [inline]
 __x64_sys_mkdirat+0x119/0x170 fs/namei.c:4074
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Last potentially related work creation:
 kasan_save_stack+0x22/0x40 mm/kasan/common.c:45
 __kasan_record_aux_stack+0xbf/0xd0 mm/kasan/generic.c:488
 __call_rcu_common.constprop.0+0x99/0x790 kernel/rcu/tree.c:2624
 dentry_free+0xc3/0x160 fs/dcache.c:377
 __dentry_kill+0x4c8/0x640 fs/dcache.c:621
 dentry_kill fs/dcache.c:745 [inline]
 dput+0x6b5/0xe10 fs/dcache.c:913
 do_unlinkat+0x3ef/0x670 fs/namei.c:4319
 __do_sys_unlink fs/namei.c:4364 [inline]
 __se_sys_unlink fs/namei.c:4362 [inline]
 __x64_sys_unlink+0xca/0x110 fs/namei.c:4362
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

Second to last potentially related work creation:
 kasan_save_stack+0x22/0x40 mm/kasan/common.c:45
 __kasan_record_aux_stack+0xbf/0xd0 mm/kasan/generic.c:488
 __call_rcu_common.constprop.0+0x99/0x790 kernel/rcu/tree.c:2624
 dentry_free+0xc3/0x160 fs/dcache.c:377
 __dentry_kill+0x4c8/0x640 fs/dcache.c:621
 shrink_dentry_list+0x12c/0x4f0 fs/dcache.c:1201
 shrink_dcache_parent+0xa7/0x3f0 fs/dcache.c:1652
 vfs_rmdir fs/namei.c:4125 [inline]
 vfs_rmdir+0x2fa/0x630 fs/namei.c:4098
 do_rmdir+0x329/0x390 fs/namei.c:4180
 __do_sys_unlinkat fs/namei.c:4358 [inline]
 __se_sys_unlinkat fs/namei.c:4352 [inline]
 __x64_sys_unlinkat+0xef/0x130 fs/namei.c:4352
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x39/0x80 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x63/0xcd

The buggy address belongs to the object at ffff88804360fd60
 which belongs to the cache dentry of size 312
The buggy address is located 40 bytes to the right of
 312-byte region [ffff88804360fd60, ffff88804360fe98)

The buggy address belongs to the physical page:
page:0000000042a7ca23 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x4360e
head:0000000042a7ca23 order:1 entire_mapcount:0 nr_pages_mapped:0 pincount:0
ksm flags: 0xfff00000010200(slab|head|node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000010200 ffff88810021b2c0 ffffea00010d3280 dead000000000003
raw: 0000000000000000 0000000000150015 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected

Memory state around the buggy address:
 ffff88804360fd80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 ffff88804360fe00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88804360fe80: 00 00 00 fc fc fc fc fc fc fc fc fc fc fc fc fc
                                           ^
 ffff88804360ff00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
 ffff88804360ff80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
==================================================================

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ