pf(4) ignores 'keep state' and 'nat-to' actions for unsolicited
authorsashan <sashan@openbsd.org>
Thu, 7 Sep 2023 09:59:43 +0000 (09:59 +0000)
committersashan <sashan@openbsd.org>
Thu, 7 Sep 2023 09:59:43 +0000 (09:59 +0000)
commit37052907186eaecdbf43aa8a0eb182df97f7146f
tree0e4421825ecfb05a5f577aba306db5c304e5b7b0
parent70cf8b9bfe60d688b406acda090b8d61b5dfe555
pf(4) ignores 'keep state' and 'nat-to' actions for unsolicited
icmp error responses. Fix tightens rule matching logic so icmp
error responses no longer match 'keep state' rule. In typical
scenarios icmp errors (if solicited) should match existing state.
The change is going to bite firewalls which deal with asymmetric
routes. In those cases the 'keep state' action should be relaxed
to sloppy or new 'no state' rule to explicitly match icmp
errors should be added.

The issue has been reported by Peter J. Philip (pjp _at_ delphinusdns.org).

Discussed with bluhm@ and florian@

OK bluhm@
sys/net/pf.c