================================================================== BUG: KASAN: slab-use-after-free in __xfrm_state_lookup.isra.0+0x752/0x870 Read of size 2 at addr ffff888047d489c2 by task syz-executor.4/49678 CPU: 1 UID: 0 PID: 49678 Comm: syz-executor.4 Not tainted 6.16.0-next-20250808 #1 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 Call Trace: dump_stack_lvl+0xca/0x120 print_report+0xcb/0x610 kasan_report+0xca/0x100 __xfrm_state_lookup.isra.0+0x752/0x870 xfrm_state_lookup+0xf7/0x2a0 xfrm_user_state_lookup.constprop.0+0x26a/0x360 xfrm_del_sa+0xdd/0x3e0 xfrm_user_rcv_msg+0x459/0xa00 netlink_rcv_skb+0x147/0x430 xfrm_netlink_rcv+0x74/0x90 netlink_unicast+0x5a7/0x870 netlink_sendmsg+0x8ac/0xd80 ____sys_sendmsg+0xa67/0xc20 ___sys_sendmsg+0x10f/0x1b0 __sys_sendmsg+0x150/0x200 do_syscall_64+0xbf/0x360 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7efeab3d6b19 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 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007efea894c188 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007efeab4e9f60 RCX: 00007efeab3d6b19 RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000003 RBP: 00007efeab430f6d R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffc271e8e1f R14: 00007efea894c300 R15: 0000000000022000 Allocated by task 45877: kasan_save_stack+0x24/0x50 kasan_save_track+0x14/0x30 __kasan_slab_alloc+0x59/0x70 kmem_cache_alloc_noprof+0x13c/0x3d0 xfrm_state_alloc+0x25/0x600 __find_acq_core+0x9c8/0x27a0 xfrm_find_acq+0x7f/0xb0 xfrm_alloc_userspi+0x589/0xbb0 xfrm_user_rcv_msg+0x459/0xa00 netlink_rcv_skb+0x147/0x430 xfrm_netlink_rcv+0x74/0x90 netlink_unicast+0x5a7/0x870 netlink_sendmsg+0x8ac/0xd80 ____sys_sendmsg+0xa67/0xc20 ___sys_sendmsg+0x10f/0x1b0 __sys_sendmsg+0x150/0x200 do_syscall_64+0xbf/0x360 entry_SYSCALL_64_after_hwframe+0x77/0x7f Freed by task 12: kasan_save_stack+0x24/0x50 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3a/0x60 __kasan_slab_free+0x3f/0x50 kmem_cache_free+0x2a1/0x460 xfrm_state_gc_task+0x107/0x740 process_one_work+0x8e1/0x19c0 worker_thread+0x67e/0xe90 kthread+0x3c8/0x740 ret_from_fork+0x34b/0x430 ret_from_fork_asm+0x1a/0x30 The buggy address belongs to the object at ffff888047d48880 which belongs to the cache xfrm_state of size 920 The buggy address is located 322 bytes inside of freed 920-byte region [ffff888047d48880, ffff888047d48c18) The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0xffff888047d48440 pfn:0x47d48 head: order:2 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x100000000000040(head|node=0|zone=1) page_type: f5(slab) raw: 0100000000000040 ffff88800a81c780 dead000000000122 0000000000000000 raw: ffff888047d48440 00000000800f000e 00000000f5000000 0000000000000000 head: 0100000000000040 ffff88800a81c780 dead000000000122 0000000000000000 head: ffff888047d48440 00000000800f000e 00000000f5000000 0000000000000000 head: 0100000000000002 ffffea00011f5201 00000000ffffffff 00000000ffffffff head: 0000000000003acc 0000000000000000 00000000ffffffff 0000000000000004 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff888047d48880: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888047d48900: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888047d48980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ^ ffff888047d48a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ffff888047d48a80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ================================================================== netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. tmpfs: Bad value for 'mpol' tmpfs: Bad value for 'mpol' netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. tmpfs: Bad value for 'mpol' tmpfs: Bad value for 'mpol' netlink: 8 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 8 bytes leftover after parsing attributes in process `syz-executor.3'. tmpfs: Bad value for 'mpol' netlink: 8 bytes leftover after parsing attributes in process `syz-executor.2'. netlink: 8 bytes leftover after parsing attributes in process `syz-executor.5'. netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. netlink: 8 bytes leftover after parsing attributes in process `syz-executor.2'. audit: type=1400 audit(2000000600.666:60): avc: denied { watch } for pid=50060 comm="syz-executor.2" path="/proc/50060/task" dev="proc" ino=84116 scontext=system_u:system_r:kernel_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=dir permissive=1 netlink: 8 bytes leftover after parsing attributes in process `syz-executor.5'. __nla_validate_parse: 4 callbacks suppressed netlink: 16 bytes leftover after parsing attributes in process `syz-executor.6'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.6'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.6'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.1'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.6'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.1'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.1'. netlink: 16 bytes leftover after parsing attributes in process `syz-executor.6'.