(NetBSD Issues Fix) Re: IP Filter Firewall Software May Let Unauthorized Packets Through the Firewall
SecurityTracker Alert ID: 1001646|
SecurityTracker URL: http://securitytracker.com/id/1001646
(Links to External Site)
Date: May 30 2001
Host/resource access via network|
Fix Available: Yes Vendor Confirmed: Yes |
Version(s): up to and including 3.3.21 and 3.4.16|
It is reported that a serious vulnerability exists in the IP Filter firewall software. When the firewall is using "fragment caching", a remote user can send nearly any packet through the firewall.|
According to the vendor, when the firewall is matching a packet fragment, only srcip, dstip and IP ID# are checked and the fragment cache is checked *before* any firewall rules are checked. If all fragments are blocked with a firewall rule, fragment cache entries can still be created by packets that match current firewall state information.
A remote user can send unauthorized packets through the firewall (if the firewall uses fragment caching).|
NetBSD has issued a fix. See the Source Message for details.|
Vendor URL: coombs.anu.edu.au/ipfilter/ip-filter.html (Links to External Site)
This archive entry is a follow-up to the message listed below.|
Source Message Contents
Date: Wed, 30 May 2001 16:25:50 +1000|
Subject: NetBSD Security Advisory 2001-007: IP Filter may incorrectly pass packets
-----BEGIN PGP SIGNED MESSAGE-----
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.
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
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.
Thomas Lopatic for reporting the problem, and Darren Reed for fixing it.
2001-05-29 - Initial Release
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 $
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.5 (NetBSD)
Comment: For info see http://www.gnupg.org
-----END PGP SIGNATURE-----