syzbot


KASAN: slab-use-after-free Read in __xfrm_decode_session

Status: upstream: reported on 2025/07/01 19:37
Reported-by: syzbot+3d686ebbbae3dcb77ae1@syzkaller.appspotmail.com
First crash: 25d, last: 4d06h
Similar bugs (10)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KMSAN: uninit-value in __xfrm_decode_session (4) net 19 C 8 644d 690d 0/29 closed as invalid on 2023/12/14 11:46
linux-6.1 KASAN: use-after-free Read in __xfrm_decode_session (2) origin:lts-only 19 C 7 25d 87d 0/3 upstream: reported C repro on 2025/04/30 13:03
upstream KASAN: slab-out-of-bounds Read in __xfrm_decode_session (2) net 19 7 1329d 1566d 0/29 auto-closed as invalid on 2022/04/04 17:22
upstream KMSAN: kernel-infoleak in copyout (2) net 17 C 6723 780d 1948d 22/29 fixed on 2023/06/08 14:41
linux-5.15 KASAN: slab-out-of-bounds Read in __xfrm_decode_session origin:upstream 19 C error 7 626d 813d 0/3 auto-obsoleted due to no activity on 2024/02/16 23:16
upstream KMSAN: kernel-infoleak in _copy_to_iter (7) net 23 C 138977 884d 1236d 22/29 fixed on 2023/02/24 13:50
linux-6.1 KASAN: slab-out-of-bounds Read in __xfrm_decode_session 17 1 213d 213d 0/3 auto-obsoleted due to no activity on 2025/04/05 09:29
linux-5.15 KASAN: slab-out-of-bounds Read in __xfrm_decode_session (2) 17 3 39d 119d 0/3 upstream: reported on 2025/03/30 08:54
linux-6.1 KASAN: use-after-free Read in __xfrm_decode_session 19 4 672d 804d 0/3 auto-obsoleted due to no activity on 2024/01/01 21:03
upstream KASAN: slab-out-of-bounds Read in __xfrm_decode_session net 17 20 1781d 2067d 0/29 auto-closed as invalid on 2021/01/07 14:52

Sample crash report:
==================================================================
BUG: KASAN: slab-use-after-free in decode_session6 net/xfrm/xfrm_policy.c:3494 [inline]
BUG: KASAN: slab-use-after-free in __xfrm_decode_session+0x18d7/0x20a0 net/xfrm/xfrm_policy.c:3600
Read of size 1 at addr ffff88802fa29f54 by task syz.4.2464/12560

CPU: 0 PID: 12560 Comm: syz.4.2464 Not tainted 6.6.99-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
Call Trace:
 <TASK>
 dump_stack_lvl+0x16c/0x230 lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:364 [inline]
 print_report+0xac/0x200 mm/kasan/report.c:466
 kasan_report+0x117/0x150 mm/kasan/report.c:579
 decode_session6 net/xfrm/xfrm_policy.c:3494 [inline]
 __xfrm_decode_session+0x18d7/0x20a0 net/xfrm/xfrm_policy.c:3600
 xfrm_decode_session_reverse include/net/xfrm.h:1243 [inline]
 icmpv6_route_lookup+0x358/0x590 net/ipv6/icmp.c:392
 icmp6_send+0x106a/0x1990 net/ipv6/icmp.c:604
 __icmpv6_send include/linux/icmpv6.h:28 [inline]
 icmpv6_send include/linux/icmpv6.h:49 [inline]
 ip6_link_failure+0x3b/0x4c0 net/ipv6/route.c:2825
 dst_link_failure include/net/dst.h:437 [inline]
 ip6_tnl_xmit+0xdf7/0x2a30 net/ipv6/ip6_tunnel.c:1283
 ipxip6_tnl_xmit net/ipv6/ip6_tunnel.c:1399 [inline]
 ip6_tnl_start_xmit+0xc10/0x1140 net/ipv6/ip6_tunnel.c:1447
 __netdev_start_xmit include/linux/netdevice.h:4943 [inline]
 netdev_start_xmit include/linux/netdevice.h:4957 [inline]
 xmit_one net/core/dev.c:3607 [inline]
 dev_hard_start_xmit+0x246/0x740 net/core/dev.c:3623
 sch_direct_xmit+0x252/0x4a0 net/sched/sch_generic.c:342
 qdisc_restart net/sched/sch_generic.c:407 [inline]
 __qdisc_run+0xab2/0x1570 net/sched/sch_generic.c:415
 __dev_xmit_skb net/core/dev.c:3907 [inline]
 __dev_queue_xmit+0xf02/0x35a0 net/core/dev.c:4379
 neigh_output include/net/neighbour.h:542 [inline]
 ip6_finish_output2+0xe2e/0x1650 net/ipv6/ip6_output.c:141
 ip6_send_skb+0x1d5/0x380 net/ipv6/ip6_output.c:2038
 udp_v6_send_skb+0xbbb/0x1860 net/ipv6/udp.c:1295
 udpv6_sendmsg+0x1bb8/0x22f0 net/ipv6/udp.c:1591
 sock_sendmsg_nosec net/socket.c:730 [inline]
 __sock_sendmsg net/socket.c:745 [inline]
 ____sys_sendmsg+0x5bf/0x950 net/socket.c:2595
 ___sys_sendmsg+0x220/0x290 net/socket.c:2649
 __sys_sendmmsg+0x275/0x4a0 net/socket.c:2735
 __do_sys_sendmmsg net/socket.c:2764 [inline]
 __se_sys_sendmmsg net/socket.c:2761 [inline]
 __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2761
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f37e418e9a9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f37e4f1c038 EFLAGS: 00000246 ORIG_RAX: 0000000000000133
RAX: ffffffffffffffda RBX: 00007f37e43b5fa0 RCX: 00007f37e418e9a9
RDX: 0000000000000003 RSI: 0000200000001b80 RDI: 0000000000000003
RBP: 00007f37e4210d69 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000004001c00 R11: 0000000000000246 R12: 0000000000000000
R13: 0000000000000000 R14: 00007f37e43b5fa0 R15: 00007fff45fa2008
 </TASK>

Allocated by task 5155:
 kasan_save_stack mm/kasan/common.c:45 [inline]
 kasan_set_track+0x4e/0x70 mm/kasan/common.c:52
 __kasan_slab_alloc+0x6c/0x80 mm/kasan/common.c:328
 kasan_slab_alloc include/linux/kasan.h:188 [inline]
 slab_post_alloc_hook+0x6e/0x4d0 mm/slab.h:767
 slab_alloc_node mm/slub.c:3485 [inline]
 kmem_cache_alloc_node+0x150/0x330 mm/slub.c:3530
 kmalloc_reserve+0x95/0x260 net/core/skbuff.c:559
 __alloc_skb+0x138/0x2c0 net/core/skbuff.c:650
 alloc_skb include/linux/skbuff.h:1284 [inline]
 alloc_uevent_skb+0x7d/0x230 lib/kobject_uevent.c:290
 uevent_net_broadcast_untagged lib/kobject_uevent.c:326 [inline]
 kobject_uevent_net_broadcast+0x2e6/0x530 lib/kobject_uevent.c:409
 kobject_uevent_env+0x550/0x8c0 lib/kobject_uevent.c:608
 kobject_synth_uevent+0x524/0xaf0 lib/kobject_uevent.c:208
 uevent_store+0x26/0x60 drivers/base/core.c:2722
 kernfs_fop_write_iter+0x37d/0x4d0 fs/kernfs/file.c:334
 call_write_iter include/linux/fs.h:2018 [inline]
 new_sync_write fs/read_write.c:491 [inline]
 vfs_write+0x43b/0x940 fs/read_write.c:584
 ksys_write+0x147/0x250 fs/read_write.c:637
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2

The buggy address belongs to the object at ffff88802fa29e00
 which belongs to the cache skbuff_small_head of size 640
The buggy address is located 340 bytes inside of
 freed 640-byte region [ffff88802fa29e00, ffff88802fa2a080)

The buggy address belongs to the physical page:
page:ffffea0000be8a00 refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff88802fa29800 pfn:0x2fa28
head:ffffea0000be8a00 order:2 entire_mapcount:0 nr_pages_mapped:0 pincount:0
flags: 0xfff00000000840(slab|head|node=0|zone=1|lastcpupid=0x7ff)
page_type: 0xffffffff()
raw: 00fff00000000840 ffff888143251280 ffffea000066bc00 dead000000000004
raw: ffff88802fa29800 000000008015000c 00000001ffffffff 0000000000000000
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 2, migratetype Unmovable, gfp_mask 0x1d2820(GFP_ATOMIC|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL), pid 5772, tgid 5772 (syz-executor), ts 77363670800, free_ts 77163178141
 set_page_owner include/linux/page_owner.h:31 [inline]
 post_alloc_hook+0x1cd/0x210 mm/page_alloc.c:1554
 prep_new_page mm/page_alloc.c:1561 [inline]
 get_page_from_freelist+0x195c/0x19f0 mm/page_alloc.c:3191
 __alloc_pages+0x1e3/0x460 mm/page_alloc.c:4457
 alloc_slab_page+0x5d/0x170 mm/slub.c:1876
 allocate_slab mm/slub.c:2023 [inline]
 new_slab+0x87/0x2e0 mm/slub.c:2076
 ___slab_alloc+0xc6d/0x12f0 mm/slub.c:3230
 __slab_alloc mm/slub.c:3329 [inline]
 __slab_alloc_node mm/slub.c:3382 [inline]
 slab_alloc_node mm/slub.c:3475 [inline]
 kmem_cache_alloc_node+0x1ea/0x330 mm/slub.c:3530
 kmalloc_reserve+0x95/0x260 net/core/skbuff.c:559
 __alloc_skb+0x138/0x2c0 net/core/skbuff.c:650
 alloc_skb include/linux/skbuff.h:1284 [inline]
 __tcp_send_ack+0xa1/0x5a0 net/ipv4/tcp_output.c:4096
 tcp_cleanup_rbuf net/ipv4/tcp.c:1505 [inline]
 tcp_recvmsg_locked+0x1af1/0x2300 net/ipv4/tcp.c:2571
 tcp_recvmsg+0x216/0x810 net/ipv4/tcp.c:2601
 inet_recvmsg+0x130/0x1e0 net/ipv4/af_inet.c:882
 sock_recvmsg_nosec net/socket.c:1046 [inline]
 sock_recvmsg net/socket.c:1068 [inline]
 sock_read_iter+0x2b7/0x3b0 net/socket.c:1138
 call_read_iter include/linux/fs.h:2012 [inline]
 new_sync_read fs/read_write.c:389 [inline]
 vfs_read+0x431/0x920 fs/read_write.c:470
 ksys_read+0x147/0x250 fs/read_write.c:613
page last free stack trace:
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1154 [inline]
 free_unref_page_prepare+0x7ce/0x8e0 mm/page_alloc.c:2336
 free_unref_page+0x32/0x2e0 mm/page_alloc.c:2429
 discard_slab mm/slub.c:2122 [inline]
 __unfreeze_partials+0x1cf/0x210 mm/slub.c:2662
 put_cpu_partial+0x17c/0x250 mm/slub.c:2738
 __slab_free+0x31d/0x410 mm/slub.c:3686
 qlink_free mm/kasan/quarantine.c:166 [inline]
 qlist_free_all+0x75/0xe0 mm/kasan/quarantine.c:185
 kasan_quarantine_reduce+0x143/0x160 mm/kasan/quarantine.c:292
 __kasan_slab_alloc+0x22/0x80 mm/kasan/common.c:305
 kasan_slab_alloc include/linux/kasan.h:188 [inline]
 slab_post_alloc_hook+0x6e/0x4d0 mm/slab.h:767
 slab_alloc_node mm/slub.c:3485 [inline]
 slab_alloc mm/slub.c:3493 [inline]
 __kmem_cache_alloc_lru mm/slub.c:3500 [inline]
 kmem_cache_alloc+0x11e/0x2e0 mm/slub.c:3509
 kmem_cache_zalloc include/linux/slab.h:711 [inline]
 locks_alloc_lock fs/locks.c:271 [inline]
 flock_lock_inode+0x226/0x17e0 fs/locks.c:1039
 flock_lock_inode_wait fs/locks.c:2018 [inline]
 locks_lock_inode_wait+0x10d/0x460 fs/locks.c:2045
 locks_lock_file_wait include/linux/filelock.h:346 [inline]
 __do_sys_flock fs/locks.c:2115 [inline]
 __se_sys_flock+0x46d/0x5a0 fs/locks.c:2069
 do_syscall_x64 arch/x86/entry/common.c:51 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:81
 entry_SYSCALL_64_after_hwframe+0x68/0xd2

Memory state around the buggy address:
 ffff88802fa29e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88802fa29e80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
>ffff88802fa29f00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                 ^
 ffff88802fa29f80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
 ffff88802fa2a000: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
==================================================================

Crashes (19):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/07/22 16:24 linux-6.6.y d96eb99e2f0e 8e9d1dc1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/22 02:20 linux-6.6.y d96eb99e2f0e 1555463b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/18 21:36 linux-6.6.y d96eb99e2f0e 7117feec .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/18 21:36 linux-6.6.y d96eb99e2f0e 7117feec .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/16 22:49 linux-6.6.y 9247f4e6573a 44f8051e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/15 05:16 linux-6.6.y 9247f4e6573a 03fcfc4b .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/06 12:49 linux-6.6.y a5df3a702b2c 4f67c4ae .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/04 01:22 linux-6.6.y 3f5b4c104b7d 76ad128c .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/02 05:30 linux-6.6.y 3f5b4c104b7d bc80e4f0 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/01 19:37 linux-6.6.y 3f5b4c104b7d 091a06cd .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-use-after-free Read in __xfrm_decode_session
2025/07/23 05:44 linux-6.6.y d96eb99e2f0e e1dd4f22 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/17 15:29 linux-6.6.y 9247f4e6573a 0d1223f1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/16 22:48 linux-6.6.y 9247f4e6573a 44f8051e .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/16 09:11 linux-6.6.y 9247f4e6573a 124ec9cc .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/14 13:33 linux-6.6.y 59a2de10b81a d8fc7335 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/14 13:30 linux-6.6.y 59a2de10b81a d8fc7335 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/06 12:49 linux-6.6.y a5df3a702b2c 4f67c4ae .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/04 16:08 linux-6.6.y 3f5b4c104b7d d869b261 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
2025/07/04 16:08 linux-6.6.y 3f5b4c104b7d d869b261 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan KASAN: slab-out-of-bounds Read in __xfrm_decode_session
* Struck through repros no longer work on HEAD.