From security-officer@netbsd.org Wed May 30 07:09:19 2001 From: security-officer@netbsd.org To: netbsd-announce@netbsd.org Cc: tech-security@netbsd.org, current-users@netbsd.org, bugtraq@securityfocus.com, cert@cert.org, auscert@auscert.org.au 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 Abstract ======== 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 ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2001-007.txt.asc 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 iQCVAwUBOxM/hT5Ru2/4N2IFAQE6OQP/f9IEZ7nWZ/AVNUDmP3DA9rHUZEIw05VG sUpFPWYOK6Oi543gi0lGeH+SlxnuQgWLT32JWEPzFAq3/oTGOsx3nk5JdFG4tznU JG+wuDDheXA+v6jgYDCzc3T7USkE5bipyv8mJdzib4FtAXskwkXRTXhoMKdgz5n0 ChcLdWUF+wQ= =JDHk -----END PGP SIGNATURE-----