Subject: Re: Fwd: Re: TCP Fragment bugs
To: Heiko W.Rupp <hwr@pilhuhn.de>
From: Rick Byers <rickb@iaw.on.ca>
List: current-users
Date: 11/17/1997 13:14:21
I tried the exploit (that easily crashed NT and 95) on NetBSD 1.3_ALPHA
and 1.2.1 and neither showed any sign of having problems...
Rick
On Mon, 17 Nov 1997, Heiko W.Rupp wrote:
> Can anyone check weather NetBSD is/will be vulnerable to this?
>
> If 1.3_a is, then this also would need to be fixed before.
>
>
> Path: pilhuhn.de!snert!blackbush.xlink.net!fu-berlin.de!cpk-news-hub1.bbnplanet.
> com!news.bbnplanet.com!europa.clark.net!209.70.91.68!news.clark.net!not-for-mai
> l
> From: proberts@clark.net (Paul D. Robertson)
> Newsgroups: comp.security.firewalls
> Subject: Re: TCP Fragment bugs
> Date: 16 Nov 1997 18:50:57 GMT
> Organization: Clark Internet Services, Inc., Ellicott City, MD USA
> Lines: 40
> Message-ID: <64nfah$m26@clarknet.clark.net>
> References: <64j43n$56u@clarknet.clark.net> <346E54A9.6A44@cyberus.ca>
> NNTP-Posting-Host: explorer.clark.net
> Mime-Version: 1.0
> Content-Type: TEXT/PLAIN; charset=ISO-8859-1
> Content-Transfer-Encoding: 8bit
> X-Newsreader: TIN [UNIX 1.3 950726BETA PL0]
> Xref: pilhuhn.de comp.security.firewalls:4349
>
> James C. Grant (no.spam@cyberus.ca) is rumored to have uttered :
> : Can anyone point be toward the exploit code or specify
> : how this attack works?
>
> The description from BUGTRAQ:
>
> If we find that the current fragment's offset is inside the end of a
> previous fragment (overlap), we need to (try) to align it correctly.
> Well, this is fine and good, unless the current fragment happens to NOT
> contain enough data to cover the realigning. In that case, `offset`
> will end up being larger than `end`. These two values are passed to
> `ip_frag_create()` where the length of the fragment data is computed.
>
> Basicly, end - offset ends up being negative, and the resulting memory
> copy kills the box. Unpatched Linux will fail at 2 packets, NT/95 seems
> to want 10-15.
>
> : ConSeal PC FIREWALL intercepts packets (95 now, NT real soon)
> : and I would like to catch this attack in the firewall, if possible.
>
> You'd have to maintain state informtaion for all fragmented packets in a
> TCP stream until the subsequent fragment is recieved, then compare the
> offset start address with the length of the previous packet.
>
> This is probably not stoppable without a stateful packet filter, and even
> then I'd think it would be rather trivial to DoS attack the filter by
> sending very large fragments. It's much better fixed at the stack, or
> by using a proxy which isn't vulnerable. The Linux fix is one line of
> code in the fragment reassembly routine. A larger fix in circulation adds
> some printk's for logging that the attack has been attempted.
>
> 'Personal firewalls' really don't address these types of issues well.
> In this case, having an invulnerable proxy server, or fixing a vulnerable
> proxy server as quickly as possible makes the most sense.
>
> Paul
> -----------------------------------------------------------------------------
> Paul D. Robertson "My statements in this message are personal opinions
> proberts@clark.net which may have no basis whatsoever in fact."
> PSB#9280
>
=========================================================================
Rick Byers Internet Access Worldwide
rickb@iaw.on.ca System Admin
University of Waterloo, Computer Science (905)714-1400
http://www.iaw.on.ca/rickb/ http://www.iaw.on.ca/