-----BEGIN PGP SIGNED MESSAGE-----
NetBSD Security Advisory 2010-013
Topic: UDP6 Option Parsing local Denial of Service
Version: NetBSD-current: affected prior to Jul 15, 2010
NetBSD 5.1: not affected
NetBSD 5.0.*: affected
NetBSD 5.0: affected
NetBSD 4.0.*: affected
NetBSD 4.0: affected
Severity: Local system crash
Fixed: NetBSD-current: Jul 15, 2010
NetBSD-5-0 branch: Jul 16, 2010
NetBSD-5 branch: Jul 16, 2010 (5.1 includes the fix)
NetBSD-4-0 branch: Jul 16, 2010
NetBSD-4 branch: Jul 16, 2010
Please note that NetBSD releases prior to 4.0 are no longer supported.
It is recommended that all users upgrade to a supported release.
The udp6_output() routing did not do proper variable management
allowing an attacker to crash a local system by sending an UDP6
datagram with suitable parameters.
The udp6_output() can be given ancilliary data in the "control"
parameter. This is used to create the IPv6 packet options in the
"opt" variable. The packet options are released at the end of the
routine after the packet has been sent. However, when given other
bad parameters, the routine would jump to releasing the options
without ever creating them first. This leads to an uninitialized
Solutions and Workarounds
The following instructions describe how to upgrade your kernel by
updating your source tree and rebuilding and installing a new
version of the kernel.
Only kernels compiled with the following option are vulnerable to this issue:
The default NetBSD GENERIC kernels have this option enabled.
If you do not use IPv6 access, as a temporary workaround, filter all IPv6
UDP traffic from untrusted networks (mind that UDP sender is very easy to
forge) until the system can receive a fixed kernel.
For all NetBSD versions, you need to obtain fixed kernel ...