644c7e48cb59 ("netfilter: nf_conntrack_tcp: Fix stack out of bounds when parsing TCP options")

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Syzkaller has triggered a stack OOB read when fuzzing a 4.4 kernel with the following stacktrace.
Call Trace:
 [<ffffffff81ca8b5d>] __dump_stack lib/dump_stack.c:15 [inline]
 [<ffffffff81ca8b5d>] dump_stack+0xc1/0x124 lib/dump_stack.c:51
 [<ffffffff814d246d>] print_address_description mm/kasan/report.c:192 [inline]
 [<ffffffff814d246d>] kasan_report_error mm/kasan/report.c:278 [inline]
 [<ffffffff814d246d>] kasan_report.part.2+0x44d/0x540 mm/kasan/report.c:303
 [<ffffffff814d258e>] kasan_report mm/kasan/report.c:321 [inline]
 [<ffffffff814d258e>] __asan_report_load1_noabort+0x2e/0x30 mm/kasan/report.c:321
 [<ffffffff823c161b>] tcp_options.isra.16+0x44b/0x490 net/netfilter/nf_conntrack_proto_tcp.c:413
 [<ffffffff823c1bb4>] tcp_new+0x554/0x960 net/netfilter/nf_conntrack_proto_tcp.c:1138
 [<ffffffff823ac362>] init_conntrack+0xed2/0x14d0 net/netfilter/nf_conntrack_core.c:951
 [<ffffffff823ad7a0>] resolve_normal_ct net/netfilter/nf_conntrack_core.c:1049 [inline]
 [<ffffffff823ad7a0>] nf_conntrack_in+0xe40/0x13c0 net/netfilter/nf_conntrack_core.c:1138
 [<ffffffff82729036>] ipv4_conntrack_in+0x66/0x90 net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c:150
 [<ffffffff82388428>] nf_iterate+0x158/0x230 net/netfilter/core.c:276
 [<ffffffff823886b5>] nf_hook_slow+0x1b5/0x320 net/netfilter/core.c:308
 [<ffffffff825af029>] nf_hook_thresh include/linux/netfilter.h:187 [inline]
 [<ffffffff825af029>] NF_HOOK_THRESH include/linux/netfilter.h:224 [inline]
 [<ffffffff825af029>] NF_HOOK include/linux/netfilter.h:249 [inline]
 [<ffffffff825af029>] ip_rcv+0xe29/0x1380 net/ipv4/ip_input.c:455
 [<ffffffff822543fe>] __netif_receive_skb_core+0xa6e/0x27c0 net/core/dev.c:4000
 [<ffffffff822561b0>] __netif_receive_skb+0x60/0x1c0 net/core/dev.c:4035
 [<ffffffff8225640e>] netif_receive_skb_internal+0xfe/0x380 net/core/dev.c:4063
 [<ffffffff82256730>] netif_receive_skb+0xa0/0x300 net/core/dev.c:4087
 [<ffffffff8207c793>] tun_get_user+0xc93/0x2370 drivers/net/tun.c:1269
 [<ffffffff8207e08a>] tun_chr_write_iter+0xda/0x190 drivers/net/tun.c:1292
 [<ffffffff8150d01e>] new_sync_write fs/read_write.c:478 [inline]
 [<ffffffff8150d01e>] __vfs_write+0x32e/0x440 fs/read_write.c:491
 [<ffffffff8150eb4c>] vfs_write+0x16c/0x4a0 fs/read_write.c:538
 [<ffffffff815111b9>] SYSC_write fs/read_write.c:585 [inline]
 [<ffffffff815111b9>] SyS_write+0xd9/0x1b0 fs/read_write.c:577
 [<ffffffff82a09298>] entry_SYSCALL_64_fastpath+0x12/0x8d

Could the following patch be applied v4.4.y? This patch is present in v4.9.y.
* 644c7e48cb59 ("netfilter: nf_conntrack_tcp: Fix stack out of bounds when parsing TCP options")


Tests run:
* Chrome OS tryjobs
* Syzkaller reproducer


Thanks,
- Zubin



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux