git: fdbbd118faab - stable/13 - nemtap: lb app: Validate ihl field when hashing packet

From: Vincenzo Maffione <vmaffione_at_FreeBSD.org>
Date: Sat, 09 Oct 2021 21:19:26 UTC
The branch stable/13 has been updated by vmaffione:

URL: https://cgit.FreeBSD.org/src/commit/?id=fdbbd118faab9705bd28475b182ca0ab5585da8e

commit fdbbd118faab9705bd28475b182ca0ab5585da8e
Author:     Vincenzo Maffione <vmaffione@FreeBSD.org>
AuthorDate: 2021-09-26 13:44:51 +0000
Commit:     Vincenzo Maffione <vmaffione@FreeBSD.org>
CommitDate: 2021-10-09 21:19:20 +0000

    nemtap: lb app: Validate ihl field when hashing packet
    
    MFC after:      1 week
    
    (cherry picked from commit f7cef43aa9a357582a703c75dafa4a44c1b2f28c)
---
 tools/tools/netmap/pkt_hash.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/tools/netmap/pkt_hash.c b/tools/tools/netmap/pkt_hash.c
index 3071935e11ef..eb9704fd2058 100644
--- a/tools/tools/netmap/pkt_hash.c
+++ b/tools/tools/netmap/pkt_hash.c
@@ -150,7 +150,9 @@ decode_ip_n_hash(const struct ip *iph, uint8_t hash_split, uint8_t seed)
 {
 	uint32_t rc = 0;
 
-	if (hash_split == 2) {
+	if (iph->ip_hl < 5 || iph->ip_hl * 4 > iph->ip_len) {
+		rc = 0;
+	} else if (hash_split == 2) {
 		rc = sym_hash_fn(ntohl(iph->ip_src.s_addr),
 			ntohl(iph->ip_dst.s_addr),
 			ntohs(0xFFFD) + seed,