title: Remote denial of service in IPv6 fragment reassembly
description: A set of carefully crafted ipv6 packets can trigger an integer overflow in the calculation of a fragment reassembled packet's payload length field. This allows an attacker to trigger a kernel panic, resulting in a denial of service.
problem types: CWE-190 Integer Overflow or Wraparound
affected:
{
defaultStatus: unknown
modules: ipv6
product: FreeBSD
vendor: FreeBSD
versions:
lessThan: 13.2-RELEASE-p2, status: affected, version: 13.2-RELEASE, versionType: release
lessThan: 13.1-RELEASE-p9, status: affected, version: 13.1-RELEASE, versionType: release
lessThan: 12.4-RELEASE-p4, status: affected, version: 12.4-RELEASE, versionType: release
}
workarounds: Users with IPv6 disabled on untrusted network interfaces are not affected.  Such interfaces will have the IFDISABLED nd6 flag set in ifconfig(8).
The kernel may be configured to drop all IPv6 fragments by setting the net.inet6.ip6.maxfrags sysctl to 0.  Doing so will prevent the bug from being triggered, with the caveat that legitimate IPv6 fragments will be dropped.
If the pf(4) firewall is enabled, and scrubbing and fragment reassembly is enabled on untrusted interfaces, the bug cannot be triggered.  This is the default if pf(4) is enabled.