uri_validate
functions depending where it is used.What kind of vulnerability is it? Who is impacted?
Oauthlib applications using OAuth2.0 provider support or use directly uri_validate
function.
Has the problem been patched? What versions should users upgrade to?
Issue fixed in 3.2.2 release.
Is there a way for users to fix or remediate the vulnerability without upgrading?
The redirect_uri
can be verified in web toolkit (i.e bottle-oauthlib
, django-oauth-toolkit
, ...) before oauthlib is called. A sample check if :
is present to reject the request can prevent the DoS, assuming no port or IPv6 is fundamentally required.
Attack Vector:
- Attacker providing malicious redirect uri:
https://github.com/oauthlib/oauthlib/blob/d4bafd9f1d0eba3766e933b1ac598cbbf37b8914/oauthlib/oauth2/rfc6749/granttypes/base.py#L232
- Vulnerable uri_validate
functions:
https://github.com/oauthlib/oauthlib/blob/2b8a44855a51ad5a5b0c348a08c2564a2e197ea2/oauthlib/urivalidate.py
is_absolute_uri("http://[:::::::::::::::::::::::::::::::::::::::]/path")
Special thanks to Sebastian Chnelik - PyUp.io
{ "nvd_published_at": "2022-09-09T21:15:00Z", "cwe_ids": [ "CWE-20", "CWE-601" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2022-09-16T21:02:52Z" }