Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 1 Sep 2024 15:06:11 GMT
From:      Kristof Provost <kp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 3da3eb6081a2 - main - pf: be less strict about icmp state checking for sloppy state tracking
Message-ID:  <202409011506.481F6BGK002658@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kp:

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

commit 3da3eb6081a2e2f6ea2fed1728d5dd7f9e8786e5
Author:     Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2024-08-26 14:44:20 +0000
Commit:     Kristof Provost <kp@FreeBSD.org>
CommitDate: 2024-09-01 15:05:29 +0000

    pf: be less strict about icmp state checking for sloppy state tracking
    
    Sloppy state tracking renders ICMP direction check useless
    and harmful as we might see only half of the connection in
    the asymmetric setups but ignore the state match.  The bug
    was reported and fix was verified by Insan Praja <insan ()
    ims-solusi ! com>.  Thanks!  OK mcbride, henning
    
    MFC after:      1 week
    Obtained from:  OpenBSD, mikeb <mikeb@openbsd.org>, 538596657140
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
---
 sys/netpfil/pf/pf.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index 94c333e67c57..e28bad8750f9 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -6740,6 +6740,9 @@ pf_icmp_state_lookup(struct pf_state_key_cmp *key, struct pf_pdesc *pd,
 
 	STATE_LOOKUP(kif, key, *state, pd);
 
+	if ((*state)->state_flags & PFSTATE_SLOPPY)
+		return (-1);
+
 	/* Is this ICMP message flowing in right direction? */
 	if ((*state)->rule.ptr->type &&
 	    (((!inner && (*state)->direction == direction) ||



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202409011506.481F6BGK002658>