Re: [websec] Richard Barnes' Discuss on draft-ietf-websec-x-frame-options-09: (with DISCUSS and COMMENT)

"Hill, Brad" <bhill@paypal-inc.com> Mon, 19 August 2013 19:31 UTC

Return-Path: <bhill@paypal-inc.com>
X-Original-To: websec@ietfa.amsl.com
Delivered-To: websec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5416F21F8EFE; Mon, 19 Aug 2013 12:31:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -10.599
X-Spam-Level:
X-Spam-Status: No, score=-10.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xsjTnbNeg0Sf; Mon, 19 Aug 2013 12:31:09 -0700 (PDT)
Received: from rhv-mipot-002.corp.ebay.com (rhv-mipot-002.corp.ebay.com [216.33.244.7]) by ietfa.amsl.com (Postfix) with ESMTP id 19B0721F9931; Mon, 19 Aug 2013 12:31:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paypal-inc.com; i=@paypal-inc.com; q=dns/txt; s=paypalcorp; t=1376940669; x=1408476669; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hmyhitMeGgiA9XdlAkO2e0fRkL8sYzHrzNjgAXm6GOs=; b=qKHmAvPbYB5OM9jUez1I+r9CuDzHhS9eeqPBNHnUJrZhlzZM0NmgOveJ 1qmTOzSYC9cHWbWZw4aHURkXThEXFH+Fde/mFfiOzpmbdCht3AZHVnNUB FU0EmZAxLTaKQtkqkIz/BtjE4nCPZUbW1Km2rMXw6nyEmyLbTcaD8oo02 I=;
X-EBay-Corp: Yes
X-IronPort-AV: E=Sophos;i="4.89,914,1367996400"; d="scan'208";a="157177515"
Received: from rhv-vtenf-002.corp.ebay.com (HELO DEN-EXMHT-002.corp.ebay.com) ([10.112.113.53]) by rhv-mipot-002.corp.ebay.com with ESMTP; 19 Aug 2013 12:31:09 -0700
Received: from DEN-EXDDA-S12.corp.ebay.com ([fe80::40c1:9cf7:d21e:46c]) by DEN-EXMHT-002.corp.ebay.com ([fe80::cbe:ffa5:17f0:a24a%14]) with mapi id 14.03.0123.003; Mon, 19 Aug 2013 13:31:07 -0600
From: "Hill, Brad" <bhill@paypal-inc.com>
To: Richard Barnes <rlb@ipv.sx>, The IESG <iesg@ietf.org>, "tobias.gondrom@gondrom.org" <tobias.gondrom@gondrom.org>
Thread-Topic: [websec] Richard Barnes' Discuss on draft-ietf-websec-x-frame-options-09: (with DISCUSS and COMMENT)
Thread-Index: AQHOmVir9vsxQULiiEyJJmzuP9qAZ5mYgLPGgARwwbw=
Date: Mon, 19 Aug 2013 19:31:07 +0000
Message-ID: <370C9BEB4DD6154FA963E2F79ADC6F2E27BAF121@DEN-EXDDA-S12.corp.ebay.com>
References: <20130815014121.17800.33179.idtracker@ietfa.amsl.com>, <370C9BEB4DD6154FA963E2F79ADC6F2E27BAD2A7@DEN-EXDDA-S12.corp.ebay.com>
In-Reply-To: <370C9BEB4DD6154FA963E2F79ADC6F2E27BAD2A7@DEN-EXDDA-S12.corp.ebay.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.241.19.243]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Cc: "draft-ietf-websec-x-frame-options@tools.ietf.org" <draft-ietf-websec-x-frame-options@tools.ietf.org>, "websec@ietf.org" <websec@ietf.org>, "websec-chairs@tools.ietf.org" <websec-chairs@tools.ietf.org>
Subject: Re: [websec] Richard Barnes' Discuss on draft-ietf-websec-x-frame-options-09: (with DISCUSS and COMMENT)
X-BeenThere: websec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Web Application Security Minus Authentication and Transport <websec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/websec>, <mailto:websec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/websec>
List-Post: <mailto:websec@ietf.org>
List-Help: <mailto:websec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/websec>, <mailto:websec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Aug 2013 19:31:13 -0000

I received a question as to whether all browsers really implement the top-level only check, or if any do an immediate parent or ancestor walk.  I could guess, but I'd rather test.  Here's a test case for public use:

http://webappsec-test.info/~bhill2/XFO/XFO_Top.html

I checked the latest IE, Chrome, Opera and Firefox and they all render the innermost frame. (don't have a Safari instance handy at the moment to test but welcome others' reports)

-Brad
________________________________________
From: Hill, Brad
Sent: Friday, August 16, 2013 4:44 PM
To: Richard Barnes; The IESG
Cc: draft-ietf-websec-x-frame-options@tools.ietf.org; websec@ietf.org; websec-chairs@tools.ietf.org
Subject: RE: [websec] Richard Barnes' Discuss on        draft-ietf-websec-x-frame-options-09:   (with DISCUSS and COMMENT)

Additional comments inline.
________________________________________


(D3) Shouldn't ALLOW-FROM be followed by an origin, not a URI?  In other
words, what does it mean to send "X-Frame-Options: ALLOW-FROM
https://example.com/this/is/a/path?query#fragment"?

[Hill, Brad] Agreed.


(D3) In the ALLOW-FROM: what does "top level context" mean?  Do you
really mean the top level here, as opposed to the next one up?  For
example, suppose A loads B in an iframe, and B loads C, and then C sends
an X-Frame-Options header with ALLOW-FROM.  Is the ALLOW-FROM origin
compared to B or A?  In either case, you should also note the attacks
that remain.  For example, if the answer is B, then B needs to use
X-Frame-Options as well, or else, A can maliciously frame A within B.  Or
if the answer is A, then C is trusting A not to load any malicious
intermediate frames B.

[Hill, Brad]  This really does mean the top/final origin value in a frame ancestor
chain walk.  Browsers have implemented X-Frame-Options to check the
Origin context that is topmost in the window or tab.  (the _top target,
representing the full, original browsing context, not just the immediate
parent frame)  This could be clarified perhaps, but is not incorrect.