From 3f44ee8e998d823ac406c8130bac850452c7efe7 Mon Sep 17 00:00:00 2001 From: "Andrey V. Elsukov" Date: Wed, 27 Nov 2019 10:24:46 +0000 Subject: Add support for dummy ESP packets with next header field equal to IPPROTO_NONE. According to RFC4303 2.6 they should be silently dropped. Submitted by: aurelien.cazuc.external_stormshield.eu MFC after: 10 days Sponsored by: Stormshield Differential Revision: https://reviews.freebsd.org/D22557 --- sys/netipsec/xform_esp.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'sys/netipsec') diff --git a/sys/netipsec/xform_esp.c b/sys/netipsec/xform_esp.c index 3b5394243c8b..918d98b6af22 100644 --- a/sys/netipsec/xform_esp.c +++ b/sys/netipsec/xform_esp.c @@ -614,6 +614,13 @@ esp_input_cb(struct cryptop *crp) } } + /* + * RFC4303 2.6: + * Silently drop packet if next header field is IPPROTO_NONE. + */ + if (lastthree[2] == IPPROTO_NONE) + goto bad; + /* Trim the mbuf chain to remove trailing authenticator and padding */ m_adj(m, -(lastthree[1] + 2)); -- cgit v1.2.3