diff --git a/subsys/net/ip/icmpv4.c b/subsys/net/ip/icmpv4.c index 5490a323215..c48d550172e 100644 --- a/subsys/net/ip/icmpv4.c +++ b/subsys/net/ip/icmpv4.c @@ -340,6 +340,11 @@ enum net_verdict net_icmpv4_input(struct net_pkt *pkt) return NET_DROP; } + if (!icmp_hdr.chksum) { + NET_DBG("Invalid zero ICMPv4 checksum - dropping"); + goto drop; + } + if (net_is_ipv4_addr_bcast(net_pkt_iface(pkt), &NET_IPV4_HDR(pkt)->dst)) { if (!IS_ENABLED(CONFIG_NET_ICMPV4_ACCEPT_BROADCAST) ||