Subject: NetBSD Security Advisory 2006-004: Denial of services issues with pf
To: None <netbsd-announce@NetBSD.org>
From: NetBSD Security-Officer <security-officer@NetBSD.org>
List: netbsd-announce
Date: 03/30/2006 02:30:35
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


		 NetBSD Security Advisory 2006-004
		 =================================

Topic:		Denial of services issues with pf

Version:	NetBSD-current:	source prior to January 25, 2006
		NetBSD 3.0:	affected
		NetBSD 2.1:	not affected
		NetBSD 2.0.*:	not affected
		NetBSD 2.0:	not affected
		NetBSD 1.6.*:	not affected
		NetBSD 1.6:	not affected

Severity:	Denial of service

Fixed:		NetBSD-current:		January 25, 2006
		NetBSD-3-0 branch: 	January 28, 2006
						(3.0.1 will include the fix)
		NetBSD-3 branch: 	January 28, 2006


Abstract
========

There is a logical bug in pf's scrub fragment cache, which in certain 
configurations may lead to a remotely exploitable denial of service
attack.

This vulnerability has been assigned CVE reference CVE-2006-0381.

Technical Details
=================

When 'scrub fragment crop/drop-ovl' is used, certain combinations of fragments
cause double insertion into the fragment cache, which violates an
invariant, and subsequently triggers a kernel panic through KASSERT().

pf is not enabled by default on NetBSD.

Solutions and Workarounds
=========================

Do not use 'scrub fragment drop-ovl' or 'scrub fragment crop' rules on NetBSD 
systems where pf has been enabled.

For all NetBSD versions, if you are using pf, you need to obtain
fixed kernel sources, rebuild and install the new kernel, and reboot
the system.

The fixed source may be obtained from the NetBSD CVS repository.

The following instructions briefly summarize how to upgrade your
kernel.  In these instructions, replace:

  ARCH     with your architecture (from uname -m), and 
  KERNCONF with the name of your kernel configuration file.

To update from CVS, re-build, and re-install the kernel:

	# cd src
	# cvs update -d -P src/sys/dist/pf/net/pf_norm.c
	# ./build.sh kernel=KERNCONF
	# mv /netbsd /netbsd.old
	# cp sys/arch/ARCH/compile/obj/KERNCONF/netbsd /netbsd
	# shutdown -r now

For more information on how to do this, see:

	http://www.NetBSD.org/guide/en/chap-kernel.html

Thanks To
=========

Daniel Hartmeier for notification of the issue and a suggested fix.
Peter Postma for implementing the fix in the NetBSD CVS tree.

Revision History
================

	2006-03-29	Initial release


More Information
================

Advisories may be updated as new information becomes available.
The most recent version of this advisory (PGP signed) can be found at 
  ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2006-004.txt.asc

Information about NetBSD and NetBSD security can be found at
http://www.NetBSD.org/ and http://www.NetBSD.org/Security/.


Copyright 2006, The NetBSD Foundation, Inc.  All Rights Reserved.
Redistribution permitted only in full, unmodified form.

$NetBSD: NetBSD-SA2006-004.txt,v 1.7 2006/03/29 11:14:28 adrianp Exp $

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (NetBSD)

iQCVAwUBRCsC7D5Ru2/4N2IFAQJAIgP7BBovVKFuB82H+q4p8lN7ChIgzeCSzEHU
pu4sX5Od0f40fVDi97pvM14x1aWOdR81VpE7t7MyouSi7XIjMN1/b64ZP1L/Ks+3
6Kk9guTWkeDja1bAhW3V7WL5XURudSE7NZgGeKbS/CWzpH8mLYpTBE1vl5soumKi
qofNlxZVbKQ=
=o1H0
-----END PGP SIGNATURE-----