Re: [hybi] I-D Action: draft-ietf-hybi-thewebsocketprotocol-09.txt

"Simon Pieters" <> Wed, 15 June 2011 09:16 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 1CE071F0C85 for <>; Wed, 15 Jun 2011 02:16:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -5.999
X-Spam-Status: No, score=-5.999 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, J_CHICKENPOX_14=0.6, RCVD_IN_DNSWL_MED=-4]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id aC71o4RcFE3A for <>; Wed, 15 Jun 2011 02:16:08 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id B23561F0C66 for <>; Wed, 15 Jun 2011 02:16:07 -0700 (PDT)
Received: from simon-pieterss-macbook.local ( []) (authenticated bits=0) by (8.14.3/8.14.3/Debian-5+lenny1) with ESMTP id p5F9G369014138 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Wed, 15 Jun 2011 09:16:04 GMT
Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes
To: "Gabriel Montenegro" <>, "Patrick McManus" <>
References: <> <> <1308062227.1944.162.camel@ds9> <> <1308074802.1944.175.camel@ds9> <> <> <1308098126.1944.194.camel@ds9>
Date: Wed, 15 Jun 2011 11:16:04 +0200
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
From: "Simon Pieters" <>
Message-ID: <op.vw31c2t3idj3kv@simon-pieterss-macbook.local>
In-Reply-To: <1308098126.1944.194.camel@ds9>
User-Agent: Opera Mail/11.11 (MacIntel)
Cc: "" <>
Subject: Re: [hybi] I-D Action: draft-ietf-hybi-thewebsocketprotocol-09.txt
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 15 Jun 2011 09:16:09 -0000

On Wed, 15 Jun 2011 02:35:26 +0200, Patrick McManus <>  

> On Tue, 2011-06-14 at 22:43 +0000, Gabriel Montenegro wrote:
>> Whatever it is, it is best if both RSV and Opcode are handled the same  
>> way (either always fail the connection or always ignore)
>> Does this clarify? Do folks agree that revising to failing in both  
>> cases is fine?
> Yes, thanks. (yes both to clarification and failing both).
> I've been talking with our security team and they are pretty strongly of
> the point of view that violations of the RSV and Opcode MUSTs need to
> result in failing the connection.

I don't know what the security problem is here, but since extensions are  
agreed upon in the handshake the server has no business using the  
extension if the client didn't ask for it, so failing the connection is  
fine with me.

> That is what we did in our -07
> implementation when the error handling was undefined. Silently redacting
> messages from the application stream by dropping is considered tatamount
> to corruption and is a security risk for the application.
> There is a similar reaction to the -08+ requirement that (paraphrased)
> non UTF-8 sequences are interpreted as U+FFFD. Silently rewriting the
> data is frowned on from a security pov. We are considering just failing
> such a non-conformant connection (and I suppose becoming non-conformant
> ourselves by doing so.).

Rewriting broken UTF-8 sequences to U+FFFD is done all over the Web  
platform (exception being XML although most browsers did it in XML too  
until it was tested in Acid3). Failing the connection here seems to make  
the protocol brittle. What's the security problem?

Simon Pieters
Opera Software