Re: [OAUTH-WG] User-agent flow and pre-registered redirect_uri

Chuck Mortimore <cmortimore@salesforce.com> Tue, 08 June 2010 17:40 UTC

Return-Path: <cmortimore@salesforce.com>
X-Original-To: oauth@core3.amsl.com
Delivered-To: oauth@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id A33013A680D for <oauth@core3.amsl.com>; Tue, 8 Jun 2010 10:40:59 -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=-2.555, BAYES_50=0.001, HTML_MESSAGE=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 KPRUM1cnUuPS for <oauth@core3.amsl.com>; Tue, 8 Jun 2010 10:40:54 -0700 (PDT)
Received: from exprod8og103.obsmtp.com (exprod8og103.obsmtp.com [64.18.3.86]) by core3.amsl.com (Postfix) with SMTP id D5F083A6938 for <oauth@ietf.org>; Tue, 8 Jun 2010 10:40:53 -0700 (PDT)
Received: from source ([204.14.239.238]) by exprod8ob103.postini.com ([64.18.7.12]) with SMTP ID DSNKTA6ApvxUX09s7WBOGoNqTDRikcIEZ333@postini.com; Tue, 08 Jun 2010 10:40:55 PDT
Received: from EXSFM-MB01.internal.salesforce.com ([10.1.127.45]) by exsfm-hub3.internal.salesforce.com ([10.1.127.7]) with mapi; Tue, 8 Jun 2010 10:40:54 -0700
From: Chuck Mortimore <cmortimore@salesforce.com>
To: Marius Scurtescu <mscurtescu@google.com>
Date: Tue, 08 Jun 2010 10:40:52 -0700
Thread-Topic: [OAUTH-WG] User-agent flow and pre-registered redirect_uri
Thread-Index: AcsGqn4uUV085I26R1WFBouFIpjaggAhz8RH
Message-ID: <C833CEB4.6B81%cmortimore@salesforce.com>
In-Reply-To: <AANLkTingSGlJNZ5e_stPd1qU5I4gfbh3rQhqYUmqXvdB@mail.gmail.com>
Accept-Language: en-US
Content-Language: en
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_C833CEB46B81cmortimoresalesforcecom_"
MIME-Version: 1.0
Cc: "oauth@ietf.org" <oauth@ietf.org>
Subject: Re: [OAUTH-WG] User-agent flow and pre-registered redirect_uri
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Tue, 08 Jun 2010 17:40:59 -0000

Thanks - I get your line of reasoning now.   I believe it would still help in preventing certain types of attack.   These are especially apparent around immediate.

1) User initially grants access to example.com
2) User goes to an evil site
3) Without the user's knowledge, the malicious site issues an immediate user_agent flow

https://authzserver.com/authorize?type=user_agent&immediate=true&client_id=<Example.com's Client ID>&redirect_uri=<Evil URL>

4) Evil site is handed an access token based upon the previous grant to example.com

This would be prevented with a redirect_url whitelist.



-cmort




On 6/7/10 6:23 PM, "Marius Scurtescu" <mscurtescu@google.com> wrote:

On Mon, Jun 7, 2010 at 5:31 PM, Chuck Mortimore
<cmortimore@salesforce.com> wrote:
> Note sure I follow this Marius:
>
> "What can happen is that exmple.com/back can pretend to be
> example.com/back, but registration does not help in this case."
>
> I believe it does help in this case, as the Authorization server can
> validate the registered redirect_uri vs. the requested redirect_uri.   Hence
> the server would not issue a token to exmple.com in this case.   Am I
> missing something?

What stops exmple.com from registering? Unless the authz wants to
operate only with a short list of human verified clients. The current
spec allows that. But if registration cannot be controlled like that,
and all it does it proves that the client owns a domain, then it does
not help.

I don't think registration should/can be enforced.

Marius