—–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1
Liebe Kolleginnen und Kollegen,
soeben erreichte uns nachfolgende Warnung des NetBSD Security
Officers. Wir geben diese Informationen unveraendert an Sie weiter.
Der PF “Packet Filter” ist die Paketfilter-Implementierung in
BSD-basierten Systemen (FreeBSD, NetBSD, OpenBSD, usw.).
CVE-2009-0687 – Null Pointer Referenzierung in pf_test_rule()
Die Funktion pf_test_rule() berechnet unter bestimmten Umstaenden bei
NAT oder RDR Umsetzungen die Laenge von IPv4 oder IPv6 Paketen falsch
und greift in Folge auf einen Null Pointer zu, was zu einer Kernel
Panic fuehrt. Angreifer koennen diese Schwachstelle ueber das Netz
dazu ausnutzen, das System zum Absturz zu bringen (Denial of Service)
indem sie entsprechend aufgebaute Pakete an IP-Adressen senden, die
von einem System mit aktivierten PF Paketfilter geschuetzt werden.
Betroffen sind die folgenden Software Pakete und Plattformen:
Alle NetBSD Versionen von den folgenden Erscheinungsdaten
NetBSD-current: April 14, 2009
NetBSD-5 branch: April 14, 2009
Bitte beachten Sie: Aeltere NetBSD Versionen sind ebenfalls betroffen,
werden aber nicht mehr unterstuetzt!
Vom Hersteller werden ueberarbeitete Pakete zur Verfuegung gestellt.
Hersteller Advisory:
ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2009-001.txt.asc
(c) der deutschen Zusammenfassung bei DFN-CERT Services GmbH; die
Verbreitung, auch auszugsweise, ist nur unter Hinweis auf den Urheber,
DFN-CERT Services GmbH, und nur zu nicht kommerziellen Zwecken
gestattet.
Mit freundlichen Gruessen,
Klaus Moeller, DFN-CERT
– —
Dipl. Inform. Klaus Moeller (Incident Response Team)
Phone: +49 40 808077-555, Fax: +49 40 808077-556
DFN-CERT Services GmbH, https://www.dfn-cert.de, Phone +49 40 808077-555
Sitz / Register: Hamburg, AG Hamburg, HRB 88805, Ust-IdNr.: DE 232129737
Sachsenstrase 5, 20097 Hamburg/Germany, CEO: Dr. Klaus-Peter Kossakowski
– —–BEGIN PGP SIGNED MESSAGE—–
Hash: SHA1
NetBSD Security Advisory 2009-001
=================================
Topic: PF firewall remote Denial Of Service attack
Version: NetBSD-current: affected
NetBSD 5.0: not affected
NetBSD 4.0.*: not affected
NetBSD 4.0: not affected
NetBSD 3.1.*: not affected
NetBSD 3.1: not affected
NetBSD 3.0.*: not affected
NetBSD 3.0: not affected
Severity: Denial of service
Fixed: NetBSD-current: April 14, 2009
NetBSD-5 branch: April 14, 2009
(5.0 includes the fix)
Please note that NetBSD releases prior to 4.0 are no longer supported.
It is recommended that all users upgrade to a supported release.
Abstract
========
PF firewalls suffer from a remote denial of service attack (system
panic) due to mishandling of some ICMP and ICMPV6 packets.
Technical Details
=================
When a PF firewall using nat or rdr receives a specially crafted
packet, a null pointer dereference causes a kernel panic.
In pf_test_rule() ICMP logic was implied for IPv6 packets and ICMPv6 logic
was implied for IPv4 packets. The wrong ICMP header length is used and an
assertion fails due to the attempt to access unallocated memory.
See also:
http://www.securityfocus.com/archive/1/502634
http://www.helith.net/txt/multiple_vendor-PF_null_pointer_dereference.txt
Solutions and Workarounds
=========================
Only kernels compiled with the following option are vulnerable to this issue:
pseudo-device pf
As a temporary workaround recompile the kernel with the above option
commented out. The default NetBSD GENERIC kernels do not have this
option enabled. In addition to this the system must be running
with nat and/or rdr rules present in the active ruleset.
An additional workaround can be to add the following rules to your
/etc/pf.conf configuration file:
nat/rdr … inet proto { tcp udp icmp } …
nat/rdr … inet6 proto { tcp udp icmp6 } …
For all NetBSD versions, 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 sys/dist/pf/net/pf.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
=========
“Rembrandt” is credited with the discovery of this issue.
Christos Zoulas for applying the OpenBSD fix.
Revision History
================
2009-03-15 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-SA2009-001.txt.asc
Information about NetBSD and NetBSD security can be found at
http://www.NetBSD.org/ and http://www.NetBSD.org/Security/.
Copyright 2009, The NetBSD Foundation, Inc. All Rights Reserved.
Redistribution permitted only in full, unmodified form.
$NetBSD: NetBSD-SA2009-001.txt,v 1.1 2009/06/22 19:31:01 tonnerre Exp $
– —–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.9 (NetBSD)
iQCVAwUBSj/8Cj5Ru2/4N2IFAQJlDwP9Eggc2LerlYb8vqLDBxP5hP2nQSZmW4Go
sUdsUTVif28lroTl4JA7Jk5pws65KaD9ST9hMgALk7w0g6G0xm17yJwBQxobzmpw
mY87797lDxFGWAyTBbY00ChyrSKSnsq6hTeMjt3/45hlkClIMk0nnL6oJ9DvkzMr
sg759/2biBo=
=vrEJ
– —–END PGP SIGNATURE—–
—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.2 (GNU/Linux)
iD8DBQFKQgEvk0kIxZMiiQ8RAoAAAJ9kRpkNFILP9dg2Bx7/n7Nhl6b+/wCgy9Xi
MdSF59tz+LLi22uos0rtYBw=
=Xz4O
—–END PGP SIGNATURE—–