Apply by doing:
       cd /usr/src
       patch -p0 < 002_pf.patch

Then build and install a new kernel.

Index: sys/net/pf.c
===================================================================
RCS file: /cvs/src/sys/net/pf.c,v
retrieving revision 1.634
diff -u -p -r1.634 pf.c
--- sys/net/pf.c        27 Feb 2009 12:37:45 -0000      1.634
+++ sys/net/pf.c        10 Apr 2009 22:44:23 -0000
@@ -5243,6 +5243,15 @@ pf_test(int dir, struct ifnet *ifp, stru
               break;
       }

+#ifdef INET6
+       case IPPROTO_ICMPV6: {
+               action = PF_DROP;
+               DPFPRINTF(PF_DEBUG_MISC,
+                   ("pf: dropping IPv4 packet with ICMPv6 payload\n"));
+               goto done;
+       }
+#endif
+
       default:
               action = pf_test_state_other(&s, dir, kif, m, &pd);
               if (action == PF_PASS) {
@@ -5595,6 +5604,13 @@ pf_test6(int dir, struct ifnet *ifp, str
                       action = pf_test_rule(&r, &s, dir, kif,
                           m, off, h, &pd, &a, &ruleset, &ip6intrq);
               break;
+       }
+
+       case IPPROTO_ICMP: {
+               action = PF_DROP;
+               DPFPRINTF(PF_DEBUG_MISC,
+                   ("pf: dropping IPv6 packet with ICMPv4 payload\n"));
+               goto done;
       }

       case IPPROTO_ICMPV6: {