[5697] in bugtraq

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

Re: "LAND" Attack Update

daemon@ATHENA.MIT.EDU (Matthew Dillon)
Mon Nov 24 23:35:22 1997

Date: 	Sun, 23 Nov 1997 01:46:35 -0800
Reply-To: Matthew Dillon <dillon@BACKPLANE.COM>
From: Matthew Dillon <dillon@BACKPLANE.COM>
X-To:         "Charles M. Hannum" <mycroft@MIT.EDU>
To: BUGTRAQ@NETSPACE.ORG

:mycroft@mit.edu (Charles M. Hannum) writes:
:
:>
:> 2) A socket in LISTEN state is not initiating a connection attempt, so
:>    if it receives a SYN-only packet from itself, it *must* be a
:...
:>    will be dropped by the first change.)
:
:BTW, on a related note...
:
:The FreeBSD hack to `fix' (or not allow) self-connects DOES NOT WORK
:FOR MULTIHOMED HOSTS.  It's still possible to crash a multihomed
:FreeBSD system by locally running a program that connects a TCP socket
:to itself.

    Did you actually test this?  My understanding is that the freeze-up
    is due to the TCP stack looping within the same PCB.  In a multi-homed
    system you wind up with two different PCB's for each 'side' of the
    connection if you use two different IP addresses on the same host.  I
    would expect this to result in an RST so it should be sufficient to
    simply test for the (srcaddr,srcport) == (dstaddr,dstport).

    I haven't tested this either way but I specifically didn't do anything
    more complex in my quick freebsd hack because I assumed the other cases
    would be covered by an RST.

                                                -Matt

    Matthew Dillon   Engineering, BEST Internet Communications, Inc.
                     <dillon@apollo.backplane.com>
    [always include a portion of the original email in any response!]

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