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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87msazftff.fsf@posteo.net>
Date: Mon, 26 May 2025 12:21:22 +0000
From: Charalampos Mitrodimas <charmitro@...teo.net>
To: syzbot <syzbot+f0c4a4aba757549ae26c@...kaller.appspotmail.com>
Cc: davem@...emloft.net, edumazet@...gle.com, horms@...nel.org,
 jmaloy@...hat.com, kuba@...nel.org, linux-kernel@...r.kernel.org,
 netdev@...r.kernel.org, pabeni@...hat.com,
 syzkaller-bugs@...glegroups.com, tipc-discussion@...ts.sourceforge.net,
 wangliang74@...wei.com
Subject: Re: [syzbot] [tipc?] WARNING: refcount bug in tipc_crypto_xmit


syzbot <syzbot+f0c4a4aba757549ae26c@...kaller.appspotmail.com> writes:

> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit:    b1427432d3b6 Merge tag 'iommu-fixes-v6.15-rc7' of git://gi..
> git tree:       upstream
> console+strace: https://syzkaller.appspot.com/x/log.txt?x=17ba35f4580000
> kernel config:  https://syzkaller.appspot.com/x/.config?x=9fd1c9848687d742
> dashboard link: https://syzkaller.appspot.com/bug?extid=f0c4a4aba757549ae26c
> compiler:       Debian clang version 20.1.6 (++20250514063057+1e4d39e07757-1~exp1~20250514183223.118), Debian LLD 20.1.6
> syz repro:      https://syzkaller.appspot.com/x/repro.syz?x=161ee170580000
> C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=164328e8580000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/48a582dac9f0/disk-b1427432.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/94ad5463a7f5/vmlinux-b1427432.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/4d0af31b0b08/bzImage-b1427432.xz
>
> The issue was bisected to:
>
> commit e279024617134c94fd3e37470156534d5f2b3472
> Author: Wang Liang <wangliang74@...wei.com>
> Date:   Tue May 20 10:14:04 2025 +0000
>
>     net/tipc: fix slab-use-after-free Read in tipc_aead_encrypt_done
>
> bisection log:  https://syzkaller.appspot.com/x/bisect.txt?x=10018df4580000
> final oops:     https://syzkaller.appspot.com/x/report.txt?x=12018df4580000
> console output: https://syzkaller.appspot.com/x/log.txt?x=14018df4580000
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+f0c4a4aba757549ae26c@...kaller.appspotmail.com
> Fixes: e27902461713 ("net/tipc: fix slab-use-after-free Read in tipc_aead_encrypt_done")
>
> ------------[ cut here ]------------
> refcount_t: addition on 0; use-after-free.
> WARNING: CPU: 1 PID: 36 at lib/refcount.c:25 refcount_warn_saturate+0xfa/0x1d0 lib/refcount.c:25
> Modules linked in:
> CPU: 1 UID: 0 PID: 36 Comm: kworker/u8:2 Not tainted 6.15.0-rc7-syzkaller-00144-gb1427432d3b6 #0 PREEMPT(full) 
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
> Workqueue: netns cleanup_net
> RIP: 0010:refcount_warn_saturate+0xfa/0x1d0 lib/refcount.c:25
> Code: 00 00 e8 79 f6 06 fd 5b 41 5e e9 81 6c a0 06 cc e8 6b f6 06 fd c6 05 06 3c b0 0a 01 90 48 c7 c7 80 aa c1 8b e8 e7 52 cb fc 90 <0f> 0b 90 90 eb d7 e8 4b f6 06 fd c6 05 e7 3b b0 0a 01 90 48 c7 c7
> RSP: 0018:ffffc90000a08668 EFLAGS: 00010246
> RAX: bb5b0788a28fc300 RBX: 0000000000000002 RCX: ffff888142681e00
> RDX: 0000000000000100 RSI: 0000000000000000 RDI: 0000000000000002
> RBP: ffffc90000a087e8 R08: 0000000000000003 R09: 0000000000000004
> R10: dffffc0000000000 R11: fffffbfff1bba984 R12: ffff88807df80000
> R13: dffffc0000000000 R14: ffff88807df8016c R15: ffff888033397800
> FS:  0000000000000000(0000) GS:ffff8881261c2000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000555569a1e878 CR3: 000000007b8fc000 CR4: 00000000003526f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
> Call Trace:
>  <IRQ>
>  __refcount_add include/linux/refcount.h:-1 [inline]
>  __refcount_inc include/linux/refcount.h:366 [inline]
>  refcount_inc include/linux/refcount.h:383 [inline]
>  get_net include/net/net_namespace.h:268 [inline]
>  tipc_aead_encrypt net/tipc/crypto.c:821 [inline]
>  tipc_crypto_xmit+0x1820/0x22c0 net/tipc/crypto.c:1761
>  tipc_crypto_clone_msg+0x90/0x170 net/tipc/crypto.c:1656
>  tipc_crypto_xmit+0x1998/0x22c0 net/tipc/crypto.c:1717
>  tipc_bearer_xmit_skb+0x245/0x400 net/tipc/bearer.c:572
>  tipc_disc_timeout+0x580/0x6d0 net/tipc/discover.c:338
>  call_timer_fn+0x17b/0x5f0 kernel/time/timer.c:1789
>  expire_timers kernel/time/timer.c:1840 [inline]
>  __run_timers kernel/time/timer.c:2414 [inline]
>  __run_timer_base+0x61a/0x860 kernel/time/timer.c:2426
>  run_timer_base kernel/time/timer.c:2435 [inline]
>  run_timer_softirq+0xb7/0x180 kernel/time/timer.c:2445
>  handle_softirqs+0x286/0x870 kernel/softirq.c:579
>  __do_softirq kernel/softirq.c:613 [inline]
>  invoke_softirq kernel/softirq.c:453 [inline]
>  __irq_exit_rcu+0xca/0x1f0 kernel/softirq.c:680
>  irq_exit_rcu+0x9/0x30 kernel/softirq.c:696
>  instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1049 [inline]
>  sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1049
>  </IRQ>
>  <TASK>
>  asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:702
> RIP: 0010:lock_acquire+0x175/0x360 kernel/locking/lockdep.c:5870
> Code: 00 00 00 00 9c 8f 44 24 30 f7 44 24 30 00 02 00 00 0f 85 cd 00 00 00 f7 44 24 08 00 02 00 00 74 01 fb 65 48 8b 05 8b 9f d7 10 <48> 3b 44 24 58 0f 85 f2 00 00 00 48 83 c4 60 5b 41 5c 41 5d 41 5e
> RSP: 0018:ffffc90000ad7378 EFLAGS: 00000206
> RAX: bb5b0788a28fc300 RBX: 0000000000000000 RCX: bb5b0788a28fc300
> RDX: 0000000000000000 RSI: ffffffff8d939072 RDI: ffffffff8bc1f600
> RBP: ffffffff8171ca05 R08: 0000000000000000 R09: 0000000000000000
> R10: 0000000000000000 R11: ffffffff8171ca05 R12: 0000000000000002
> R13: ffffffff8df3dee0 R14: 0000000000000000 R15: 0000000000000246
>  rcu_lock_acquire include/linux/rcupdate.h:331 [inline]
>  rcu_read_lock include/linux/rcupdate.h:841 [inline]
>  class_rcu_constructor include/linux/rcupdate.h:1155 [inline]
>  unwind_next_frame+0xc2/0x2390 arch/x86/kernel/unwind_orc.c:479
>  arch_stack_walk+0x11c/0x150 arch/x86/kernel/stacktrace.c:25
>  stack_trace_save+0x9c/0xe0 kernel/stacktrace.c:122
>  kasan_save_stack+0x3e/0x60 mm/kasan/common.c:47
>  kasan_record_aux_stack+0xbc/0xd0 mm/kasan/generic.c:548
>  __call_rcu_common kernel/rcu/tree.c:3082 [inline]
>  call_rcu+0x142/0x990 kernel/rcu/tree.c:3202
>  inet_release+0x187/0x210 net/ipv4/af_inet.c:435
>  __sock_release net/socket.c:647 [inline]
>  sock_release+0x85/0x150 net/socket.c:675
>  wg_netns_pre_exit+0xd6/0x1d0 drivers/net/wireguard/device.c:423
>  ops_pre_exit_list net/core/net_namespace.c:162 [inline]
>  cleanup_net+0x594/0xbd0 net/core/net_namespace.c:634
>  process_one_work kernel/workqueue.c:3238 [inline]
>  process_scheduled_works+0xadb/0x17a0 kernel/workqueue.c:3319
>  worker_thread+0x8a0/0xda0 kernel/workqueue.c:3400
>  kthread+0x70e/0x8a0 kernel/kthread.c:464
>  ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:153
>  ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
>  </TASK>
> ----------------
> Code disassembly (best guess):
>    0:	00 00                	add    %al,(%rax)
>    2:	00 00                	add    %al,(%rax)
>    4:	9c                   	pushf
>    5:	8f 44 24 30          	pop    0x30(%rsp)
>    9:	f7 44 24 30 00 02 00 	testl  $0x200,0x30(%rsp)
>   10:	00
>   11:	0f 85 cd 00 00 00    	jne    0xe4
>   17:	f7 44 24 08 00 02 00 	testl  $0x200,0x8(%rsp)
>   1e:	00
>   1f:	74 01                	je     0x22
>   21:	fb                   	sti
>   22:	65 48 8b 05 8b 9f d7 	mov    %gs:0x10d79f8b(%rip),%rax        # 0x10d79fb5
>   29:	10
> * 2a:	48 3b 44 24 58       	cmp    0x58(%rsp),%rax <-- trapping instruction
>   2f:	0f 85 f2 00 00 00    	jne    0x127
>   35:	48 83 c4 60          	add    $0x60,%rsp
>   39:	5b                   	pop    %rbx
>   3a:	41 5c                	pop    %r12
>   3c:	41 5d                	pop    %r13
>   3e:	41 5e                	pop    %r14
>
>
> ---
> 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 syzkaller@...glegroups.com.
>
> syzbot will keep track of this issue. See:
> https://goo.gl/tpsmEJ#status for how to communicate with syzbot.
> For information about bisection process see: https://goo.gl/tpsmEJ#bisection
>
> If the report is already addressed, let syzbot know by replying with:
> #syz fix: exact-commit-title
>
> 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.
>
> 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

#syz test: https://github.com/charmitro/linux.git d72ee421a78726747979874e8dba97c1641df213

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ