[9197] in bugtraq

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

Re: NetBSD Security Advisory 1999-001: select(2)/accept(2) race

daemon@ATHENA.MIT.EDU (Casper Dik)
Mon Jan 25 13:07:57 1999

Date: 	Mon, 25 Jan 1999 15:25:46 +0100
Reply-To: Casper Dik <casper@HOLLAND.SUN.COM>
From: Casper Dik <casper@HOLLAND.SUN.COM>
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  Your message of "Sun, 24 Jan 1999 00:40:33 GMT." 
              <m104DbN-0007U2C@the-village.bc.nu>

>> 2) Modify the kernel to not remove sockets from the accept(2) queue
>>    when they are closed.  A change that implements this has been added
>>    to NetBSD-current, and is available at:
>>        ftp://ftp.NetBSD.ORG/pub/NetBSD/misc/security/patches/19990120-accept
>>
>
>This method works well btw. Linux has always done this, (by happy chance). Im
>_amazed_ this bug exists. It was documented/abused/used/fixed in so many
>different places at different times even back in 1990/1991 or so


The same happy coincidence happens in Solaris; accept() done when the
connection is already closed causes an EPROTO error.  (I'd need to check
whether that error disappeared again when native socket calls were
implemented)

Casper

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