Subject: NetBSD Security Advisory 2001-007: IP Filter may incorrectly pass packets
To: None <>
From: None <>
List: netbsd-announce
Date: 05/30/2001 16:25:50

                 NetBSD Security Advisory 2001-007

Topic:		IP Filter may incorrectly pass packets
Version:	NetBSD 1.4, 1.5, -current
Severity:       Unexpected network packets may be received by the system
Fixed:		NetBSD-current:    April  6, 2001
		NetBSD-1.5 branch: April 14, 2001
		NetBSD-1.4 branch: April 14, 2001


IP Filter (ipf) - the IP packet filtering software in NetBSD - has a
bug where the checks on a fragmented packet are incomplete and
it may be possible to abuse this to bypass filter rules.

Technical Details

Fragmented packets may be stored in a ``fragment cache'' in certain
circumstances.  The fragment cache is checked for a packet match
before any of the filter rules are checked. There were insufficient
checks made on fragmented packets before inserting the packet into
the fragment cache.

This problem is most likely to occur if "keep frags" or "keep state"
is used in the ipf rules, but it is possible if the ftp NAT proxy
is used in the ipnat rules.

Solutions and Workarounds

Upgrade the system from newer sources or binaries.

Systems running NetBSD-current dated from before April 6, 2001
should be upgraded to NetBSD-current dated April 6, 2001 or later.

Systems running NetBSD 1.5.x systems dated from before April 14, 2001
should be upgraded to NetBSD 1.5.x dated April 14, 2001 or later.
NetBSD 1.5.1 will ship with the fix.

Systems running NetBSD 1.4.x systems dated from before April 14, 2001
should be upgraded to NetBSD 1.4.x dated April 14, 2001 or later.

If you cannot upgrade the kernel and if you are running on a platform
that supports it, you can patch the kernel binary using gdb: 
	# gdb --write /netbsd
	(gdb) set ipfr_inuse=1000000
	(gdb) quit

Then reboot your system for the change to take effect. The value 1000000
is not important, it just has to be greater than the IPFT_SIZE constant.

Thanks To

Thomas Lopatic for reporting the problem, and Darren Reed for fixing it.

Revision History

        2001-05-29 - Initial Release

More Information

An up-to-date PGP signed copy of this release will be maintained at

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

Copyright 2001, The NetBSD Foundation, Inc.  All Rights Reserved.

$NetBSD: NetBSD-SA2001-007.txt,v 1.4 2001/05/29 05:58:42 lukem Exp $
Version: GnuPG v1.0.5 (NetBSD)
Comment: For info see