Re: [OAUTH-WG] Draft 20 last call comment (Resource Owner Impersonation)
Eran Hammer-Lahav <eran@hueniverse.com> Thu, 18 August 2011 19:21 UTC
Return-Path: <eran@hueniverse.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3AEF111E80A7 for <oauth@ietfa.amsl.com>; Thu, 18 Aug 2011 12:21:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.554
X-Spam-Level:
X-Spam-Status: No, score=-2.554 tagged_above=-999 required=5 tests=[AWL=0.045, BAYES_00=-2.599]
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 NxfFxv7cK4IG for <oauth@ietfa.amsl.com>; Thu, 18 Aug 2011 12:21:20 -0700 (PDT)
Received: from p3plex1out01.prod.phx3.secureserver.net (p3plex1out01.prod.phx3.secureserver.net [72.167.180.17]) by ietfa.amsl.com (Postfix) with SMTP id 7618A11E808C for <oauth@ietf.org>; Thu, 18 Aug 2011 12:21:16 -0700 (PDT)
Received: (qmail 31065 invoked from network); 18 Aug 2011 19:21:41 -0000
Received: from unknown (HELO smtp.ex1.secureserver.net) (72.167.180.46) by p3plex1out01.prod.phx3.secureserver.net with SMTP; 18 Aug 2011 19:21:41 -0000
Received: from P3PW5EX1MB01.EX1.SECURESERVER.NET ([10.6.135.19]) by P3PW5EX1HT004.EX1.SECURESERVER.NET ([72.167.180.134]) with mapi; Thu, 18 Aug 2011 12:21:08 -0700
From: Eran Hammer-Lahav <eran@hueniverse.com>
To: Niv Steingarten <nivstein@gmail.com>
Date: Thu, 18 Aug 2011 12:19:48 -0700
Thread-Topic: [OAUTH-WG] Draft 20 last call comment (Resource Owner Impersonation)
Thread-Index: Acxd2sFY18VWejdmTQevMrVmAe/ghAAAEwug
Message-ID: <90C41DD21FB7C64BB94121FBBC2E72345029DFAAD7@P3PW5EX1MB01.EX1.SECURESERVER.NET>
References: <b7df18688b7612cb85418ed587b80044@lodderstedt-online.de> <90C41DD21FB7C64BB94121FBBC2E72345029DFA960@P3PW5EX1MB01.EX1.SECURESERVER.NET> <CACEVmuoYO5NJrGNAHJsHennt_si+DTdA0QuLps8UBvMb=aLVoA@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72345029DFAA22@P3PW5EX1MB01.EX1.SECURESERVER.NET> <CACEVmuoJR2yFBBzjqT4nbGt28PDu4yFEYTnV9c893FAAuqvT+g@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72345029DFAA5B@P3PW5EX1MB01.EX1.SECURESERVER.NET> <CACEVmuqCx2Nv_OEAx30HZEqbx58zxhWweOMctaxp2E3S3rDWig@mail.gmail.com> <90C41DD21FB7C64BB94121FBBC2E72345029DFAA81@P3PW5EX1MB01.EX1.SECURESERVER.NET> <CACEVmuoQuQGemjv0r2PzDBSD1D9XJjQo9cjZCs5-jxFbNc4JNA@mail.gmail.com>
In-Reply-To: <CACEVmuoQuQGemjv0r2PzDBSD1D9XJjQo9cjZCs5-jxFbNc4JNA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] Draft 20 last call comment (Resource Owner Impersonation)
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/oauth>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 18 Aug 2011 19:21:22 -0000
> -----Original Message----- > From: Niv Steingarten [mailto:nivstein@gmail.com] > Sent: Thursday, August 18, 2011 12:12 PM > To: Eran Hammer-Lahav > Cc: Torsten Lodderstedt; oauth@ietf.org > Subject: Re: [OAUTH-WG] Draft 20 last call comment (Resource Owner > Impersonation) > > On Thu, Aug 18, 2011 at 21:17, Eran Hammer-Lahav <eran@hueniverse.com> > wrote: > > > > > >> -----Original Message----- > >> From: Niv Steingarten [mailto:nivstein@gmail.com] > >> Sent: Thursday, August 18, 2011 11:08 AM > >> To: Eran Hammer-Lahav > >> Cc: Torsten Lodderstedt; oauth@ietf.org > >> Subject: Re: [OAUTH-WG] Draft 20 last call comment (Resource Owner > >> Impersonation) > >> > >> On Thu, Aug 18, 2011 at 20:31, Eran Hammer-Lahav > >> <eran@hueniverse.com> > >> wrote: > >> > > >> > > >> >> -----Original Message----- > >> >> From: Niv Steingarten [mailto:nivstein@gmail.com] > >> >> Sent: Thursday, August 18, 2011 10:16 AM > >> >> To: Eran Hammer-Lahav > >> >> Cc: Torsten Lodderstedt; oauth@ietf.org > >> >> Subject: Re: [OAUTH-WG] Draft 20 last call comment (Resource Owner > >> >> Impersonation) > >> >> > >> > Can you provide another example with the same level of detail as > >> > you > >> provided below? > >> > >> The malicious client sends a request to the authorization endpoint > >> with the appropriate parameters, and in return receives the markup of > >> the web-page which should be displayed to the user in order to get > >> consent. In addition, since the request is launched not via a > >> sandboxed user-agent, the client also has access to any 'Set-Cookie' > >> HTTP headers. > >> > >> Instead of displaying the page to the user, the client extracts the > >> web-form data (including the hidden nonce/token) which would be > >> submitted when 'Allow' is clicked. It then forges the appropriate > >> POST request with the cookies, form data and referrer, and dispatches > >> it, > > > > SCENE MISSING [1] > > > >> to finally receive an access token/authorization code in the redirection. > > > > You skipped the best part! > > > > What do you mean by "dispatches it"? How is the resource owner tricked > or abused to grant authorization unknowingly? I understand how your > proposal "fixes" the first half, but not what kind of attack is happening in the > second half. > > > > I might have accidentally skipped the part where the user is already logged in > at the authorization endpoint, so no log-in is required but rather just > allowing/denying access (correction: the first request is sent using an HTTP > framework/WebKit, so no access to cookies). Once it extracts the data from > the web-form, the client has all the information it needs in order to create an > HTTP request No - the attacker does not have access to the session cookie. It still needs to find a way to make a CSS call. > and launch it using the same HTTP framework/WebKit, > simulating the "Allow" button. This is still just a CSRF attack. In order to automate the approval action, they attacker has to get the user-agent (embedded or not) to make a cross site request which will include some session state (cookies or otherwise). If the authorization page is CSRF protected, they attacker will not be able to construct such a link. The nature of the client does not matter. In either case, the client has to gain access somehow to the authorization server state stored in the browser. EHL
- [OAUTH-WG] Draft 20 last call comment (Resource O… Torsten Lodderstedt
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Barry Leiba
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Lodderstedt, Torsten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Niv Steingarten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Igor Faynberg
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Niv Steingarten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Barry Leiba
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Barry Leiba
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Niv Steingarten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Niv Steingarten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… William J. Mills
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Niv Steingarten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Niv Steingarten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… William J. Mills
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Niv Steingarten
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… William J. Mills
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Torsten Lodderstedt
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Torsten Lodderstedt
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Torsten Lodderstedt
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Torsten Lodderstedt
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Eran Hammer-Lahav
- Re: [OAUTH-WG] Draft 20 last call comment (Resour… Torsten Lodderstedt