the last unbiased stronghold

Packet Filter Null Pointer Dereference

Packet Filter Null Pointer Dereference
Posted May 1, 2009
Authored by Rembrandt

PF in OpenBSD, NetBSD, and various other Unix variants suffer from a null pointer dereference vulnerability.

tags | exploit
systems | netbsd, unix, openbsd
MD5 | 60d751eefd8b784dbe6d32c93886e27b

Packet Filter Null Pointer Dereference

Change Mirror Download
                     _   _ _____ _     ___ _____ _   _
/ / / / ____/ / / _/_ __/ / / /
/ /_/ / __/ / / / / / / / /_/ /
/ __ / /___/ /____/ / / / / __ /
/_/ /_/_____/_____/___/ /_/ /_/ /_/
Helith - 0815
--------------------------------------------------------------------------------

Author : Rembrandt
Date : 2009-04-30
Found : 2009-04-09
Affected Software: PF (OpenBSD Packet Filter)
Affected OS : OpenBSD 4.2 up to 4.5 and HEAD branch up to 2009-04-11
NetBSD 5.x up to RC3 and HEAD branch up to 2009-04-13
MirOS #10 and earlier
MidnightBSD 0.3-current
Not affected OS : FreeBSD
NetBSD 3.x, 4.x, 5.x (patched before release)
DragonflyBSD
Debian GNU/kFreeBSD
MidnightBSD prior 0.3

Older versions of OpenBSD PF and products based
thereon might be affected as well.
The Bug was introduced between the OpenBSD 4.1 and 4.2
release.

Type : Denial of Service

OSVDB : 53608
Milw0rm : 8406
CVE :
ISS X-Force: :
BID : 34482
Secunia : 34676
VUPEN ID : ADV-2009-1015

This advisory supercedes the original advisory which was just related to
OpenBSD because we had to publish an announcement in response to OpenBSD's
reaction.

Trying to fix it responsibly and get in contact with the vendor:

-- OpenBSD --
Contacted 2009-04-09 16:35 UTC
Patch available 2009-04-11 23:43 UTC

We received no response nor a notification about an upcoming patch.
Also we had no chance to coordinate or inform other projects before OpenBSD
issued the patch and a statement.

We like to mention that the issued patch is just a workaround and does not
patch or remove the affected code.

-- NetBSD --
Contacted and asked for confirmation 2009-04-15 06:00 UTC
Were informed about further investigations 2009-04-15 9:42 UTC
Received information about upcoming Patches 2009-04-15 11:57 UTC
Received confirmation for 5.x up to RC3 and HEAD 2009-04-15 12:17 UTC

We thank the NetBSD team that they patched the PF bug prior the 5.x release!

-- FreeBSD --
Contacted and asked for confirmation 2009-04-15 06:56 UTC
Were informed about further investigations 2009-04-15 7:56 UTC
Were informed about not being vulnerable 2009-04-15 22:05 UTC

-- DragonflyBSD --
Contacted and asked for confirmation 2009-04-15 06:10 UTC
Were informed about not being vulnerable 2009-04-15 21:35 UTC

-- MirOS (MirBSD) --
Contacted and asked for official confirmation 2009-04-15 06:36 UTC
Received confirmation for MirBSD 10 and prior 2009-04-15 17:57 UTC

-- MidnightBSD --
Contacted and asked for official confirmation 2009-04-15 20:17 UTC
Received confirmation for MidnightBSD 2009-04-15 22:37 UTC

-- Debian GNU/kFreeBSD --
Contacted and asked for official confirmation 2009-04-15 22:41 UTC
Were informed about not being vulnerable 2009-04-15 23:35 UTC
-- END --


OpenBSDs PF firewall is prone to a remote Denial of Service due to a NULL-
pointer dereference when handling special crafted IP datagrams. If the
firewall handles such a packet the kernel panics.
An example for such a packet would be a IPv4 packet with a ICMPv6 payload.

This affects multiple vendors because PF was incorporated into serveral OS.

The problem stems from the unification of the rule processing in pf_test_rule().
With this unification ICMPv6 logic was applied to IPv4 packets and vice versa.
Because the handling logic asserts that the common code in pf_test has verified
that the packet contains a full ICMP header and has pulled up the mbuf up to
that point. This assertion fails when the wrong AF-version is used by pf_test
and thus pf_test_rule tries to access not allocated memory.
The affected function is in pf_change_a6 and the patch is just a workaround
because it filters the packet in pf_test() except of fixing the affected source
code.


Steps to reproduce:

If you have an affected OS in your network which does NAT or redirecting traffic
you should be able to test your IPv4 device with this simple hping command:

hping -0 -H 58 $a_host


Patches are provided for:

OpenBSD 4.3 - 4.5 (not for 4.2), HEAD after 2009-04-11
NetBSD 4.x (patched for consistency) - 5.0RC3, HEAD after 2009-04-13
MirBSD 10
MidnightBSD 0.3-current


Workaround:

The OpenBSD developers provide hints for a workaround at their errata
website too.


We like to thank the security teams of the following projects for
their friendly cooperation:

DragonflyBSD
NetBSD
FreeBSD
MidnightBSD
MirBSD

Special thanks goes to Andreas Bogk who assisted in the assembly analysis and
Adrian Portelli of the NetBSD project for his time and permanent suggestions.


Kind regards,
Rembrandt


Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close