kern/162926: Infinite loop in ipfilter with fragmented IPv6 traffic
Paul
olivier.paul.tsp at gmail.com
Mon Nov 28 16:00:29 UTC 2011
>Number: 162926
>Category: kern
>Synopsis: Infinite loop in ipfilter with fragmented IPv6 traffic
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Nov 28 16:00:20 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Paul
>Release: 6.4
>Organization:
>Environment:
FreeBSD virtualbox0 6.4-RELEASE FreeBSD 6.4-RELEASE #0: Wed Nov 26 11:43:51 UTC 2008 root at dessler.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
When receiving the following packet, ipfilter enters a loop in the frpr_ipv6hdr function making the whole system unresponsive. More recent versions of FreeBSD (e.g. 8.x) seem to be affected as they are using the same version of ipfilter.
# tcpdump -n -X -r AC_458632.pak
reading from file AC_458632.pak, link-type EN10MB (Ethernet)
01:00:00.000453 IP6 truncated-ip6 - 32724 bytes missing!:: > 80::: frag (0|32760) AH(spi=0x00000000,seq=0x33000000): HBH AH(spi=0x00000000,seq=0x0): HBH [|HBH]
0x0000: 6000 0000 8000 2c00 0000 0000 0000 0000 `.....,.........
0x0010: 0000 0000 0000 0000 0080 0000 0000 0000 ................
0x0020: 0000 0000 0000 0000 3300 0004 0000 0000 ........3.......
0x0030: 0000 0000 0000 0000 3300 0000 0000 0000 ........3.......
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0050: 0000 0000
The problem seems to have been corrected in ipfilter 4.1.31.
>How-To-Repeat:
enable ipfilter.
enable ipv6 and ipv6 forwarding.
send packet through filter.
>Fix:
Install ipfilter v4.1.31.
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list