kern/127785: IPSEC with IPv6 fails to pass traffic through enc0
crahman at gmail.com
Wed Oct 1 19:40:04 UTC 2008
>Synopsis: IPSEC with IPv6 fails to pass traffic through enc0 interface
>Arrival-Date: Wed Oct 01 19:40:03 UTC 2008
>Originator: Cyrus Rahman
>Release: FreeBSD 7.1-PRERELEASE
FreeBSD silva.signetica.com 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Thu Sep 25 23:49:02 MDT 2008 cr at silva.signetica.com:/usr/src/sys/amd64/compile/SIGNETICA amd64
The enc0 interface is supposed to inherit all IPSEC traffic, allowing packet filters to perform their work with knowledge of the packet's contents.
This works as expected in IPv4.
In IPv6, no IPSEC traffic is passed to enc0. As a result, firewall rules are bypassed silently.
Set up an IPv6 security association between two hosts and observe that all formerly firewall-blocked traffic can now pass freely.
The new IPSEC simply doesn't contain code to do this for IPv6.
Until such code is written it would be prudent to include a warning in the enc(4) manual page mentioning that IPv6 IPSEC traffic will not be visible to the enc interface, and that therefore firewall rules will not be applied to such traffic.
More information about the freebsd-bugs