On Mon, 15 Oct 2007 19:33:59 +0200, Daniel Veditz <[EMAIL PROTECTED]> wrote:
Section 1.2.1 seems to say that a conforming user agent SHOULD support the TRACE method since TRACE is one of the RFC 2616 5.1.1 methods. Instead the XHR spec should explicitly say that "a conforming user agent SHOULD NOT support the TRACE or TRACK methods". (TRACK is used by old versions of IIS)

These two methods can be abused through XSS holes to recover HttpOnly
cookies and Http Authentication details. Mozilla browsers do not and will
not support these two methods. US-CERT has recommended servers disable
TRACE support since 2003 because of this problem, but many did not get the message. http://www.kb.cert.org/vuls/id/867593

CONNECT is also a security issue. The SHOULD-level requirement is about supporting arbitrary HTTP methods, not TRACE, CONNECT, and apparently TRACK, specifically. The open() algorithm allows user agents to throw a SECURITY_ERR exception for methods with security implications though it doesn't call the known ones out explicitly. It probably should.


How to deal with HTTP methods is a bit unclear at the moment. Generally speaking Firefox supports arbitrary HTTP methods though it uses some case-insensitive hash table which violates HTTP. Internet Explorer 7 doesn't support them, uses a whitelist, and throws an exception for unknown methods. Opera doesn't either, and uses GET requests for unknown methods.


--
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>

Reply via email to