Re: [tcpm] On the implementation of TCP urgent data (IETF Internet Draft)
James Chacon <jmc@netbsd.org> Tue, 03 March 2009 04:18 UTC
Return-Path: <jmc@netbsd.org>
X-Original-To: tcpm@core3.amsl.com
Delivered-To: tcpm@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id EA0D43A6A78 for <tcpm@core3.amsl.com>; Mon, 2 Mar 2009 20:18:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, NO_RELAYS=-0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6rp6pu4Miu38 for <tcpm@core3.amsl.com>; Mon, 2 Mar 2009 20:18:51 -0800 (PST)
Received: from mail.netbsd.org (mail.NetBSD.org [IPv6:2001:4f8:4:7:2e0:81ff:fe52:9ab6]) by core3.amsl.com (Postfix) with ESMTP id 944AE3A6A59 for <tcpm@ietf.org>; Mon, 2 Mar 2009 20:18:50 -0800 (PST)
Received: from [IPv6:::1] (localhost [IPv6:::1]) by mail.netbsd.org (Postfix) with ESMTP id 4348063B120; Tue, 3 Mar 2009 04:19:14 +0000 (UTC)
Message-Id: <2059A6D8-4BDA-44FF-827D-655814042138@netbsd.org>
From: James Chacon <jmc@netbsd.org>
To: Bill Squier <groo@old-ones.com>
In-Reply-To: <F2BD5C91-4566-487A-8CC0-D180C30B0058@old-ones.com>
Content-Type: text/plain; charset="US-ASCII"; format="flowed"; delsp="yes"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v930.3)
Date: Mon, 02 Mar 2009 22:19:13 -0600
References: <20090227222910.4AAF55654E@rebar.astron.com> <F2BD5C91-4566-487A-8CC0-D180C30B0058@old-ones.com>
X-Mailer: Apple Mail (2.930.3)
X-Mailman-Approved-At: Tue, 03 Mar 2009 08:08:09 -0800
Cc: groo@netbsd.org, Jerry Leichter <leichter@lrw.com>, Christos Zoulas <christos@zoulas.com>, Fernando Gont <fernando@gont.com.ar>, tcpm@ietf.org
Subject: Re: [tcpm] On the implementation of TCP urgent data (IETF Internet Draft)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Mar 2009 04:21:04 -0000
On Feb 27, 2009, at 5:13 PM, Bill Squier wrote: > > On Feb 27, 2009, at 5:29 PM, Christos Zoulas wrote: > >> In article <49A83600.9090807@gont.com.ar> you write: >>> Hello, folks, >>> >>> We have published a revision of our IETF Internet-Draft entitled >>> "On the >>> implementation of TCP urgent data". The document is available at: >>> http://tools.ietf.org/id/draft-gont-tcpm-urgent-data-01.txt (you can >>> also get the document in other fancy formats, such as PDF, at >>> http://www.gont.com.ar/drafts). >>> >>> This document describes current issues relevant to the >>> implementation >>> and use of TCP urgent data, aims to change the IETF specifications >>> so >>> that they accommodate what virtually all implementations have been >>> doing >>> wrt urgent data. >>> >>> The TCPM working group of the IETF is currently deciding whether to >>> adopt this document as a working group item, so that your input >>> will be >>> very much appreciated. >>> >>> To voice your opinion, please send it to tcpm@ietf.org, and CC me >>> (fernando@gont.com.ar), so that I make sure that your post makes >>> it to >>> the mailing-list, even if you are not subscribed to it. >>> (Alternatively, >>> you can send me your input, and I could forward it to the tcpm@ietf.org >>> mailing-list). >> >> The behavior on Windows is more complex than this. I think that it >> maintains >> much more data than a single byte and this can lead to resource >> exhaustion. >> This behavior is used and required to be present by SQL Server, so >> Microsoft >> is unwilling to change it. Bill Squier <groo@netbsd.org> discovered >> this and >> can provide you with details. > > I haven't had time to read the article completely, but I did skim > the Windows section, and Christos is correct. Windows exhausts a > non-paged fixed size pool of kernel memory (leading to a crash) > whenever the receiver does not drain OOB data. Thus, any Windows > TCP receiver which does not expect OOB data is an avenue of attack. > For example, the NetBIOS listener. I refer here to Windows versions > <= XP. I have not performed any testing on Vista and later. > Microsoft has been aware of this issue for years. Jerry and James > can speak to whether they have ever addressed it. > > Further, I noticed that some of your analysis discusses OOB data > bleeding in-line. This is almost certainly caused by an interaction > (on the _sender_) of Nagle and the fact that TCP defines only a > single OOB pointer. The receiver is not returning bytes which it > knows to be OOB bytes inline, the _sender_ is accidentally placing > more than a single byte of OOB in each packet that it sends. > > The receiver has no way to know that, as the only means of > communication about OOB data between sender and receiver is a single > pointer. > Actually we have seen leaks in-band when simply sending one byte at a time of OOB. It appears if the distance between 2 bytes exceeds the available OOB marker (which from memory was 16 bits) and nothing reads on the receiving end then on some impls the bytes leak in-band. We've seen that on linux and on Solaris to my recollection. James
- [tcpm] [Fwd: Re: On the implementation of TCP urg… Fernando Gont
- Re: [tcpm] On the implementation of TCP urgent da… Fernando Gont
- Re: [tcpm] On the implementation of TCP urgent da… Bill Squier
- Re: [tcpm] On the implementation of TCP urgent da… Jerry Leichter
- Re: [tcpm] On the implementation of TCP urgent da… Jakob Heitz
- Re: [tcpm] On the implementation of TCP urgent da… James Chacon
- Re: [tcpm] On the implementation of TCP urgent da… Jerry Leichter
- Re: [tcpm] On the implementation of TCP urgent da… James Chacon
- Re: [tcpm] On the implementation of TCP urgent da… Fernando Gont
- Re: [tcpm] On the implementation of TCP urgent da… David Borman
- Re: [tcpm] On the implementation of TCP urgent da… David Borman
- Re: [tcpm] On the implementation of TCP urgent da… Jerry Leichter
- Re: [tcpm] On the implementation of TCP urgent da… Andrew Yourtchenko
- Re: [tcpm] On the implementation of TCP urgent da… David Borman