KASAN: use-after-free Write in tcf_ct_act

Status: upstream: reported C repro on 2026/09/27 05:59
Reported-by: syzbot+5a3f828ddc843a2f7a7c@syzkaller.appspotmail.com
First crash: 21d, last: 4d13h
▶ ▼ Last patch testing requests (4)
Created Duration User Patch Repo Result
2026/10/14 08:35 12m retest repro linux-5.15.y report job log log
2026/10/14 08:35 13m retest repro linux-5.15.y report job log log
2026/10/14 08:35 13m retest repro linux-5.15.y report job log log
2026/10/14 08:35 13m retest repro linux-5.15.y report job log log

Sample crash report:
==================================================================
BUG: KASAN: use-after-free in skb_clear_hash include/linux/skbuff.h:1317 [inline]
BUG: KASAN: use-after-free in tcf_ct_handle_fragments net/sched/act_ct.c:768 [inline]
BUG: KASAN: use-after-free in tcf_ct_act+0x361f/0x3b40 net/sched/act_ct.c:1012
Write of size 4 at addr ffff88807d0ec454 by task syz.0.18/4318

CPU: 1 PID: 4318 Comm: syz.0.18 Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <TASK>
 dump_stack_lvl+0x188/0x250 lib/dump_stack.c:106
 print_address_description+0x60/0x2d0 mm/kasan/report.c:248
 __kasan_report mm/kasan/report.c:434 [inline]
 kasan_report+0xdf/0x130 mm/kasan/report.c:451
 skb_clear_hash include/linux/skbuff.h:1317 [inline]
 tcf_ct_handle_fragments net/sched/act_ct.c:768 [inline]
 tcf_ct_act+0x361f/0x3b40 net/sched/act_ct.c:1012
 tcf_action_exec+0x177/0x570 net/sched/act_api.c:761
 __tcf_classify net/sched/cls_api.c:1550 [inline]
 tcf_classify+0x218/0xad0 net/sched/cls_api.c:1616
 sch_handle_ingress net/core/dev.c:5199 [inline]
 __netif_receive_skb_core+0x1cd8/0x3670 net/core/dev.c:5412
 __netif_receive_skb_one_core net/core/dev.c:5549 [inline]
 __netif_receive_skb+0x74/0x290 net/core/dev.c:5665
 netif_receive_skb_internal net/core/dev.c:5751 [inline]
 netif_receive_skb+0x19e/0x700 net/core/dev.c:5810
 tun_rx_batched+0x606/0x760 drivers/net/tun.c:-1
 tun_get_user+0x2bf4/0x3b10 drivers/net/tun.c:2000
 tun_chr_write_iter+0x112/0x1e0 drivers/net/tun.c:2030
 call_write_iter include/linux/fs.h:2179 [inline]
 new_sync_write fs/read_write.c:507 [inline]
 vfs_write+0x748/0xd70 fs/read_write.c:594
 ksys_write+0x153/0x260 fs/read_write.c:647
 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:0x7f02a7ad0159
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffeaf430408 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
RAX: ffffffffffffffda RBX: 00007f02a7d57fa0 RCX: 00007f02a7ad0159
RDX: 0000000000000fce RSI: 0000200000001280 RDI: 0000000000000003
RBP: 00007f02a7b6706b R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f02a7d57fac R14: 00007f02a7d57fa0 R15: 00007f02a7d57fa0
 </TASK>

Allocated by task 4318:
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track mm/kasan/common.c:46 [inline]
 set_alloc_info mm/kasan/common.c:434 [inline]
 __kasan_slab_alloc+0x92/0xc0 mm/kasan/common.c:467
 kasan_slab_alloc include/linux/kasan.h:254 [inline]
 slab_post_alloc_hook+0x4c/0x380 mm/slab.h:519
 slab_alloc_node mm/slub.c:3225 [inline]
 kmem_cache_alloc_node+0x184/0x2c0 mm/slub.c:3261
 __alloc_skb+0xf4/0x750 net/core/skbuff.c:415
 alloc_skb include/linux/skbuff.h:1162 [inline]
 alloc_skb_with_frags+0xa7/0x720 net/core/skbuff.c:6199
 sock_alloc_send_pskb+0x87f/0x9a0 net/core/sock.c:2535
 tun_alloc_skb drivers/net/tun.c:1515 [inline]
 tun_get_user+0x8f7/0x3b10 drivers/net/tun.c:1827
 tun_chr_write_iter+0x112/0x1e0 drivers/net/tun.c:2030
 call_write_iter include/linux/fs.h:2179 [inline]
 new_sync_write fs/read_write.c:507 [inline]
 vfs_write+0x748/0xd70 fs/read_write.c:594
 ksys_write+0x153/0x260 fs/read_write.c:647
 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

Freed by task 4318:
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track+0x4b/0x70 mm/kasan/common.c:46
 kasan_set_free_info+0x1f/0x40 mm/kasan/generic.c:360
 ____kasan_slab_free+0xd5/0x110 mm/kasan/common.c:366
 kasan_slab_free include/linux/kasan.h:230 [inline]
 slab_free_hook mm/slub.c:1710 [inline]
 slab_free_freelist_hook+0xec/0x170 mm/slub.c:1736
 slab_free mm/slub.c:3504 [inline]
 kmem_cache_free+0x8f/0x210 mm/slub.c:3520
 kfree_skb include/linux/skbuff.h:1118 [inline]
 nf_ct_frag6_queue net/ipv6/netfilter/nf_conntrack_reasm.c:261 [inline]
 nf_ct_frag6_gather+0x1002/0x1da0 net/ipv6/netfilter/nf_conntrack_reasm.c:486
 tcf_ct_handle_fragments net/sched/act_ct.c:752 [inline]
 tcf_ct_act+0xc8d/0x3b40 net/sched/act_ct.c:1012
 tcf_action_exec+0x177/0x570 net/sched/act_api.c:761
 __tcf_classify net/sched/cls_api.c:1550 [inline]
 tcf_classify+0x218/0xad0 net/sched/cls_api.c:1616
 sch_handle_ingress net/core/dev.c:5199 [inline]
 __netif_receive_skb_core+0x1cd8/0x3670 net/core/dev.c:5412
 __netif_receive_skb_one_core net/core/dev.c:5549 [inline]
 __netif_receive_skb+0x74/0x290 net/core/dev.c:5665
 netif_receive_skb_internal net/core/dev.c:5751 [inline]
 netif_receive_skb+0x19e/0x700 net/core/dev.c:5810
 tun_rx_batched+0x606/0x760 drivers/net/tun.c:-1
 tun_get_user+0x2bf4/0x3b10 drivers/net/tun.c:2000
 tun_chr_write_iter+0x112/0x1e0 drivers/net/tun.c:2030
 call_write_iter include/linux/fs.h:2179 [inline]
 new_sync_write fs/read_write.c:507 [inline]
 vfs_write+0x748/0xd70 fs/read_write.c:594
 ksys_write+0x153/0x260 fs/read_write.c:647
 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

The buggy address belongs to the object at ffff88807d0ec3c0
 which belongs to the cache skbuff_head_cache of size 232
The buggy address is located 148 bytes inside of
 232-byte region [ffff88807d0ec3c0, ffff88807d0ec4a8)
The buggy address belongs to the page:
page:ffffea0001f43b00 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x7d0ec
flags: 0xfff00000000200(slab|node=0|zone=1|lastcpupid=0x7ff)
raw: 00fff00000000200 0000000000000000 0000000300000001 ffff88801bbe6140
raw: 0000000000000000 00000000800c000c 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 0, migratetype Unmovable, gfp_mask 0x12cc0(GFP_KERNEL|__GFP_NOWARN|__GFP_NORETRY), pid 3546, ts 15549732293, free_ts 15548596064
 prep_new_page mm/page_alloc.c:2426 [inline]
 get_page_from_freelist+0x24f6/0x2670 mm/page_alloc.c:4192
 __alloc_pages+0x1ee/0x480 mm/page_alloc.c:5501
 alloc_slab_page mm/slub.c:1780 [inline]
 allocate_slab mm/slub.c:1917 [inline]
 new_slab+0xc0/0x4b0 mm/slub.c:1980
 ___slab_alloc+0x807/0xdd0 mm/slub.c:3013
 __slab_alloc mm/slub.c:3100 [inline]
 slab_alloc_node mm/slub.c:3191 [inline]
 kmem_cache_alloc_node+0x118/0x2c0 mm/slub.c:3261
 __alloc_skb+0xf4/0x750 net/core/skbuff.c:415
 alloc_skb include/linux/skbuff.h:1162 [inline]
 alloc_skb_with_frags+0xa7/0x720 net/core/skbuff.c:6199
 sock_alloc_send_pskb+0x87f/0x9a0 net/core/sock.c:2535
 unix_dgram_sendmsg+0x6f8/0x19c0 net/unix/af_unix.c:1809
 sock_sendmsg_nosec net/socket.c:706 [inline]
 __sock_sendmsg net/socket.c:718 [inline]
 __sys_sendto+0x46d/0x620 net/socket.c:2073
 __do_sys_sendto net/socket.c:2085 [inline]
 __se_sys_sendto net/socket.c:2081 [inline]
 __x64_sys_sendto+0xda/0xf0 net/socket.c:2081
 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
page last free stack trace:
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1340 [inline]
 free_pcp_prepare mm/page_alloc.c:1391 [inline]
 free_unref_page_prepare+0x637/0x6c0 mm/page_alloc.c:3317
 free_unref_page+0x8f/0x2a0 mm/page_alloc.c:3396
 sd_uninit_command+0x89/0x170 drivers/scsi/sd.c:1381
 scsi_uninit_cmd drivers/scsi/scsi_lib.c:489 [inline]
 scsi_mq_uninit_cmd drivers/scsi/scsi_lib.c:507 [inline]
 scsi_end_request+0x3ac/0xa40 drivers/scsi/scsi_lib.c:570
 scsi_io_completion+0x173/0x480 drivers/scsi/scsi_lib.c:940
 blk_complete_reqs block/blk-mq.c:588 [inline]
 blk_done_softirq+0xfa/0x140 block/blk-mq.c:593
 handle_softirqs+0x336/0x830 kernel/softirq.c:576
 __do_softirq kernel/softirq.c:610 [inline]
 invoke_softirq kernel/softirq.c:450 [inline]
 __irq_exit_rcu+0x13b/0x230 kernel/softirq.c:659
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:671
 common_interrupt+0xb5/0xd0 arch/x86/kernel/irq.c:242
 asm_common_interrupt+0x22/0x40 arch/x86/include/asm/idtentry.h:667
 unwind_get_return_address+0x27/0x80 arch/x86/kernel/unwind_orc.c:320
 arch_stack_walk+0xf2/0x140 arch/x86/kernel/stacktrace.c:26
 stack_trace_save+0xa6/0xf0 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track+0x4b/0x70 mm/kasan/common.c:46
 kasan_set_free_info+0x1f/0x40 mm/kasan/generic.c:360

Memory state around the buggy address:
 ffff88807d0ec300: fb fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc
 ffff88807d0ec380: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb
>ffff88807d0ec400: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                 ^
 ffff88807d0ec480: fb fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc
 ffff88807d0ec500: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (30):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/27 12:55 linux-5.15.y 0248c33e835e a3c7249d .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 12:07 linux-5.15.y 0248c33e835e a3c7249d .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 09:54 linux-5.15.y 0248c33e835e a3c7249d .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 06:55 linux-5.15.y 0248c33e835e a3c7249d .config console log report syz / log C [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 22:31 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 09:40 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 09:37 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 09:35 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 09:27 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 09:04 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 09:01 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/28 08:58 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 22:01 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 21:59 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 20:34 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 20:33 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 20:23 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 20:20 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 20:18 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 19:46 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 19:46 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 16:30 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 16:29 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 16:27 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 16:26 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 06:05 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 06:04 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 06:03 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 05:59 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
2026/09/27 05:58 linux-5.15.y 0248c33e835e a3c7249d .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan KASAN: use-after-free Write in tcf_ct_act
* Struck through repros no longer work on HEAD.