Given the attack is based on a successfully registered callback URL that is malicious, we can also look to the Authorization Server to run more checks on the registered callback URLs (e.g. check against the "unsafe" URL list). Not a 100% solution by any means but could help with reduce the impact. Additionally, making sure the AS can easily revoke any client_id and have that take effect quickly.

Another potential option would be to not allow prompt=none (or automatic redirects) from contexts where the user hasn't first gone through a full authentication flow or at least allow the AS to display UI at it's discretion. Though this will definitely break some flows :(

This at least illuminates one of the dangers of allowing a wide open dynamic client registration model :)

Thanks,
George

On 12/18/21 1:11 AM, David Waite wrote:

On Dec 17, 2021, at 2:44 PM, Brian Campbell 
<bcampbell=40pingidentity....@dmarc.ietf.org> wrote:

Relax how aggressively OAuth demands that the AS automatically redirect in 
error conditions. And either respond with a 400 directly (which just stops 
things at that point) or provide a meaningful interstitial page to the user 
before redirecting them (which at least helps users see something is amiss). I 
do think OAuth is a bit overzealous in automatically returning the user's 
browser context to the client in error conditions. There are some situations 
(like prompt=none) that rely on the behavior but in most cases it isn't 
necessary or helpful and can be problematic.
The problem is that if prompt=none still requires redirection without prompt or 
interstitial, someone wishing to treat dynamic registrations of malicious sites as 
clients will just start using prompt=none. Likewise, a site could still attempt to 
manipulate the user to release information by imitating an extension to the 
authentication process, such as an "expired password change" prompt.

I agree with Nov Matake's comment - phishing link email filters should treat 
all OAuth URLs as suspect, as OAuth has several security-recommended features 
like state and PKCE which do not work as expected/reliably with email. Filters 
integrated into the browser (such as based on the unsafe site list in Chrome) 
should not need changes, as they will warn on redirect to the known malicious 
site.

We should also continue to push as an industry for authentication technologies 
like WebAuthn (as well as mutual TLS and Kerberos) which are phishing 
resistant. We are really talking about failure of a single phishing mitigation 
for _known_ malicious sites - the opportunity to use any unknown malicious site 
or a compromised legitimate site remains open even if we do suggest changes to 
error behavior.

-DW

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to