Subject: Re: [OAUTH-WG] Ignoring unrecognized request parameters

From: Eran Hammer <[email-masked]>
Date: Wed, 7 Mar 2012 17:17:31 -0700

Our "mustUnderstand" is extension grant types. Define a new one and everything will break if the server doesn't understand something as defined by the new grant type spec.

EH

From: John Bradley [mailto:[email-masked]]
Sent: Saturday, February 18, 2012 3:41 PM
To: Eran Hammer
Cc: William Mills; [email-masked]
Subject: Re: [OAUTH-WG] Ignoring unrecognized request parameters

It is a general problem with security protocols like SOAP, SAML, X.509.

Sometimes when you define an extension you want to be certain that the Authorization server understands it,  or you want an error.

As an example if someone did a authentication context extension (Not proposing it just an example).   They would perhaps rather have an error if the Authorization server did not understand the extension,  they could then retry without the extension if that worked for them.

This is generally dealt with by marking something as mustUnderstand<http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383500> in SOAP or critical in x.509.

Without that functionality (I am not asking to add it) it may be reasonable for some Authorization servers to return an error if they do not completely understand what is being sent to them.

One school of thought feels that anything you don't understand in a message could be an indication of a problem or tampering.

I am sympathetic to the Forward compatibility argument,  however without some sort of mustUnderstand semantics it is not going to always work.

One thing that might help is an error message to indicate that it is being rejected due to unknown extensions so a client can retry.

John B.

On 2012-02-16, at 8:01 PM, Eran Hammer wrote:

Can you give an example where an unknown parameter being ignored can lead to security issues?

EH

From: John Bradley <[email-masked]<mailto:[email-masked]>>
Date: Thu, 16 Feb 2012 11:55:21 -0700
To: William Mills <[email-masked]<mailto:[email-masked]>>
Cc: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Subject: Re: [OAUTH-WG] Ignoring unrecognized request parameters

If you have a generic client that works across multiple Authorization endpoints some that have extension X and others not, I can see that having the Authorization servers ignore unknown parameters is desirable.

However there are some endpoints that are not going to be able to allow unknown parameters due to there security policy.   They are often a indication of an attack.

If this remains a MUST then some endpoints will have to ignore it, and be non compliant.

I would be OK with something like "MUST ignore unknown parameters unless the endpoint is required to return an error due to local security policy."

There is probably no perfect compromise on this one.

John B.

On 2012-02-16, at 3:32 PM, William Mills wrote:

No, this is required for forward compatibility.  Implementations that send extended parameters like capability advertisements (i.e. CAPTCHA support or something) shoudl not be broken hitting older implementations.

________________________________
From: Mike Jones <[email-masked]<mailto:[email-masked]>>
To: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
Sent: Thursday, February 16, 2012 10:16 AM
Subject: [OAUTH-WG] Ignoring unrecognized request parameters

In core -23, the last paragraph of section 3.1<http://tools.ietf.org/html/draft-ietf-oauth-v2-23#section-3.1> now says:

                The authorization server MUST ignore unrecognized request parameters.

In -22, this said:

                The authorization server SHOULD ignore unrecognized request parameters.

In a security protocol, it seems unreasonable to require that information be ignored.  As I see it, it SHOULD be legal to return an error if unrecognized information is received.

Why the change?  And can we please have it changed back to SHOULD in -24?

                                                                Thanks,
                                                                -- Mike

_______________________________________________
OAuth mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/oauth