KASAN: use-after-free Read in rtnl_fill_ifinfo

Status: upstream: reported on 2026/08/11 03:45
Reported-by: syzbot+e0473d8bb56d3894c1e5@syzkaller.appspotmail.com
First crash: 1d21h, last: 1d21h
Similar bugs (4)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KASAN: use-after-free Read in rtnl_fill_ifinfo net 19 4 2872d 2877d 0/29 auto-closed as invalid on 2019/03/30 06:45
upstream KASAN: use-after-free Read in rtnl_fill_ifinfo (2) net 19 2 2369d 2370d 15/29 fixed on 2020/04/15 17:19
linux-6.6 KASAN: slab-use-after-free Read in rtnl_fill_ifinfo 19 2 1d21h 10d 0/2 upstream: reported on 2026/08/02 13:05
upstream general protection fault in rtnl_fill_ifinfo net 2 2 586d 602d 0/29 closed as invalid on 2025/02/03 10:48

Sample crash report:
==================================================================
BUG: KASAN: use-after-free in strlen+0x53/0x60 lib/string.c:502
Read of size 1 at addr ffff88813fe3d580 by task dhcpcd/3933

CPU: 1 PID: 3933 Comm: dhcpcd 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/0x24e lib/dump_stack.c:106
 print_address_description mm/kasan/report.c:316 [inline]
 print_report+0xa8/0x210 mm/kasan/report.c:420
 kasan_report+0x10b/0x140 mm/kasan/report.c:524
 strlen+0x53/0x60 lib/string.c:502
 nla_put_string+0x19/0x30 include/net/netlink.h:1522
 rtnl_fill_ifinfo+0x1b8a/0x1d00 net/core/rtnetlink.c:1901
 rtnl_dump_ifinfo+0xd80/0x1480 net/core/rtnetlink.c:2237
 netlink_dump+0x683/0xcd0 net/netlink/af_netlink.c:2241
 netlink_recvmsg+0x68f/0xe00 net/netlink/af_netlink.c:1959
 ____sys_recvmsg+0x2c8/0x5b0 net/socket.c:-1
 ___sys_recvmsg+0x210/0x590 net/socket.c:2780
 __sys_recvmsg net/socket.c:2810 [inline]
 __do_sys_recvmsg net/socket.c:2820 [inline]
 __se_sys_recvmsg net/socket.c:2817 [inline]
 __x64_sys_recvmsg+0x20d/0x2e0 net/socket.c:2817
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f7ece651407
Code: 48 89 fa 4c 89 df e8 38 aa 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 fa 08 75 de e8 23 ff ff ff
RSP: 002b:00007fff5735eec0 EFLAGS: 00000202 ORIG_RAX: 000000000000002f
RAX: ffffffffffffffda RBX: 00007f7ece5c7740 RCX: 00007f7ece651407
RDX: 0000000000000000 RSI: 00007fff5735ef50 RDI: 000000000000001a
RBP: 00007fff5735ef34 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000001ff8
R13: 00007fff5735ef40 R14: 00007fff5735f030 R15: 0000000000000000
 </TASK>

Allocated by task 4277:
 kasan_save_stack mm/kasan/common.c:46 [inline]
 kasan_set_track+0x4b/0x70 mm/kasan/common.c:53
 ____kasan_kmalloc mm/kasan/common.c:375 [inline]
 __kasan_kmalloc+0x8e/0xa0 mm/kasan/common.c:384
 kasan_kmalloc include/linux/kasan.h:211 [inline]
 __do_kmalloc_node mm/slab_common.c:936 [inline]
 __kmalloc+0xb3/0x240 mm/slab_common.c:949
 kmalloc include/linux/slab.h:568 [inline]
 kzalloc include/linux/slab.h:699 [inline]
 xt_jumpstack_alloc net/netfilter/x_tables.c:1357 [inline]
 xt_replace_table+0x8c/0x790 net/netfilter/x_tables.c:1416
 __do_replace+0x16a/0x980 net/ipv6/netfilter/ip6_tables.c:1081
 do_replace net/ipv6/netfilter/ip6_tables.c:1158 [inline]
 do_ip6t_set_ctl+0xb3d/0xe10 net/ipv6/netfilter/ip6_tables.c:1643
 nf_setsockopt+0x25f/0x280 net/netfilter/nf_sockopt.c:101
 __sys_setsockopt+0x2bf/0x3d0 net/socket.c:2288
 __do_sys_setsockopt net/socket.c:2299 [inline]
 __se_sys_setsockopt net/socket.c:2296 [inline]
 __x64_sys_setsockopt+0xb1/0xc0 net/socket.c:2296
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2

Freed by task 4277:
 kasan_save_stack mm/kasan/common.c:46 [inline]
 kasan_set_track+0x4b/0x70 mm/kasan/common.c:53
 kasan_save_free_info+0x27/0x40 mm/kasan/generic.c:516
 ____kasan_slab_free+0x126/0x1f0 mm/kasan/common.c:237
 kasan_slab_free include/linux/kasan.h:177 [inline]
 slab_free_hook mm/slub.c:1729 [inline]
 slab_free_freelist_hook+0x133/0x1b0 mm/slub.c:1755
 slab_free mm/slub.c:3687 [inline]
 __kmem_cache_free+0xb6/0x200 mm/slub.c:3700
 xt_free_table_info+0x13a/0x160 net/netfilter/x_tables.c:1232
 __do_replace+0x7e2/0x980 net/ipv6/netfilter/ip6_tables.c:1101
 do_replace net/ipv6/netfilter/ip6_tables.c:1158 [inline]
 do_ip6t_set_ctl+0xb3d/0xe10 net/ipv6/netfilter/ip6_tables.c:1643
 nf_setsockopt+0x25f/0x280 net/netfilter/nf_sockopt.c:101
 __sys_setsockopt+0x2bf/0x3d0 net/socket.c:2288
 __do_sys_setsockopt net/socket.c:2299 [inline]
 __se_sys_setsockopt net/socket.c:2296 [inline]
 __x64_sys_setsockopt+0xb1/0xc0 net/socket.c:2296
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2

The buggy address belongs to the object at ffff88813fe3d580
 which belongs to the cache kmalloc-16 of size 16
The buggy address is located 0 bytes inside of
 16-byte region [ffff88813fe3d580, ffff88813fe3d590)

The buggy address belongs to the physical page:
page:ffffea0004ff8f40 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x13fe3d
flags: 0x17ff00000000200(slab|node=0|zone=2|lastcpupid=0x7ff)
raw: 017ff00000000200 0000000000000000 dead000000000001 ffff8880174413c0
raw: 0000000000000000 0000000000800080 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 0x0(), pid 1, tgid 1 (swapper/0), ts 1811110510, free_ts 0
 create_dummy_stack mm/page_owner.c:67 [inline]
 register_early_stack+0x95/0xf0 mm/page_owner.c:83
 init_page_owner+0x2f/0x5b0 mm/page_owner.c:93
 invoke_init_callbacks mm/page_ext.c:126 [inline]
 page_ext_init+0x7f1/0x856 mm/page_ext.c:518
 kernel_init_freeable+0x3fc/0x5ab init/main.c:1635
page_owner free stack trace missing

Memory state around the buggy address:
 ffff88813fe3d480: 00 00 fc fc 00 00 fc fc fa fb fc fc 00 01 fc fc
 ffff88813fe3d500: fa fb fc fc fa fb fc fc 00 02 fc fc fa fb fc fc
>ffff88813fe3d580: fa fb fc fc fa fb fc fc fa fb fc fc 00 03 fc fc
                   ^
 ffff88813fe3d600: fa fb fc fc 00 01 fc fc 00 01 fc fc 00 01 fc fc
 ffff88813fe3d680: 00 01 fc fc 00 01 fc fc 00 01 fc fc fa fb fc fc
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/11 03:44 linux-6.1.y e4f7d8be268e 508909ea .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-1-kasan KASAN: use-after-free Read in rtnl_fill_ifinfo
* Struck through repros no longer work on HEAD.