[17223] in bugtraq

home help back first fref pref prev next nref lref last post

FreeBSD 4.x Bug with ICMP Error Messages

daemon@ATHENA.MIT.EDU (Ofir Arkin)
Mon Oct 16 02:07:40 2000

Mime-Version: 1.0
Content-Type: text/plain; charset="windows-1255"
Content-Transfer-Encoding: 7bit
Message-Id:  <GDEIJDIGIGIFHEIILCALIEIOCGAA.ofir@itcon-ltd.com>
Date:         Sat, 14 Oct 2000 23:03:57 +0200
Reply-To: Ofir Arkin <ofir@ITCON-LTD.COM>
From: Ofir Arkin <ofir@ITCON-LTD.COM>
To: BUGTRAQ@SECURITYFOCUS.COM

It is long known that FreeBSD uses a wrong IP Identification number
with its ICMP Error Messages. This fact was discovered by Fyodor
long ago.

I wish to identify were the problem is.

The next example is with FreeBSD 4.1:

00:52:19.055758 ppp0 > x.x.x.x.1393 > y.y.y.y.0: udp 0 [tos 0x8]
(ttl 64, id 58965)
			 4508 001c e655 0000 4011 3f63 xxxx xxxx
			 yyyy yyyy 0571 0000 0008 a55c

00:52:19.464548 ppp0 < y.y.y.y > x.x.x.x: icmp: y.y.y.y udp port 0
unreachable Offending pkt: x.x.x.x.1393 > y.y.y.y.0: udp 0 [tos 0x8]
(ttl 47, id 21990, bad cksum 5063!) (ttl 238, id 27639)
			 4500 0038 6bf7 0000 ee01 0bbd yyyy yyyy
			 xxxx xxxx 0303 87f3 0000 0000 4508 001c
			 55e6 0000 2f11 5063 xxxx xxxx yyyy yyyy
			 0571 0000 0008 0000

A udp datagram sent to a closed udp port (port 0, can be any port).
The original udp datagram used e655 hex as its IP Identification
field value. The echoed IP Header inside the ICMP Error message
states that this value was 55e6 (with the offending datagram).

FreeBSD 4.x simply flips between the first 8bits to the second 8
bits.


Ofir Arkin  [ofir@itcon-ltd.com]
Senior Security Analyst
Chief of Grey Hats
ITcon, Israel.
http://www.itcon-ltd.com

Personal Web page: http://www.sys-security.com

"Opinions expressed do not necessarily
represent the views of my employer."

home help back first fref pref prev next nref lref last post