CVE-2026-49264 · GHSA-hj66-6f7g-4r5v
Oauthlib : Unsafe JSONP callback injection in RevocationEndpoint allows arbitrary JavaScript response generation
- Risk score
- 46/100
- CVSS
- 6.1 v3.1
- Exploit chance (30 days)
- 0.3%
- Published
- 29 Sep 2026
Open in the live forecast Today's forecast
What to know
- What it is
- OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 0.6.1 until 4.0.0, OAuthLib's RevocationEndpoint in oauthlib/oauth2/rfc6749/endpoints/revocation.py reflects an unvalidated callback request parameter into success and error response bodies when enable_jsonp=True. The callback can c…
- Affected
- oauthlib (pip) >= 0.6.1, <= 3.3.1
- Fix
- Upgrade oauthlib to 4.0.0 or later.
- Exploitation
- No known exploitation
Story map
At a glance
oauthlib: Yellow, plan it in. OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 3.0.0 until 4.0.0, OAuthLib's PKCE checks in oauthlib/oauth2/rfc6749/grant_types/authorization_code.py compare attacker-supplied code_verifier values with stored challenges using ordinary string equality in code_challenge_method_pla…
The flaws
- CVE-2026-49264: Oauthlib : Unsafe JSONP callback injection in RevocationEndpoint allows arbitrary JavaScript response generation (CVSS 6.1 · EPSS 0%)
- CVE-2026-49265: Oauthlib: Timing Attack Vulnerability in PKCE code_verifier Comparison (CWE-208) (CVSS 6.8 · EPSS 0%)
The fix
Upgrade oauthlib: 4.0.0 or later on your release line
Who is exposed: oauthlib (pip) >= 3.0.0, < 4.0.0
Where it stands
- Public proof of concept
Connects to
- Same weakness: Cross-site scripting (CWE-79). 399 other warnings in 30 days
Why it is Yellow
- CVSS 6.1 medium
- On your watchlist: PyPI
Affected packages
| Package | Ecosystem | Vulnerable | Fixed in |
|---|---|---|---|
| oauthlib | pip | >= 0.6.1, <= 3.3.1 | 4.0.0 |
References
- https://github.com/advisories/GHSA-hj66-6f7g-4r5v
- https://github.com/oauthlib/oauthlib/security/advisories/GHSA-hj66-6f7g-4r5v
- https://github.com/oauthlib/oauthlib/pull/951
- https://github.com/oauthlib/oauthlib/commit/c888359f3c42bec235b2c5caab2069c9ed62457c
- https://nvd.nist.gov/vuln/detail/CVE-2026-49264
- https://github.com/pypa/advisory-database/tree/main/vulns/oauthlib/PYSEC-2026-4113.yaml
- https://github.com/advisories/GHSA-hj66-6f7g-4r5v
- https://github.com/oauthlib/oauthlib/releases/tag/v4.0.0
Original description
OAuthLib is an implementation of the OAuth request-signing logic for Python 3.6+. From 0.6.1 until 4.0.0, OAuthLib's RevocationEndpoint in oauthlib/oauth2/rfc6749/endpoints/revocation.py reflects an unvalidated callback request parameter into success and error response bodies when enable_jsonp=True. The callback can come from the query string or request body and is used without restricting it to a legal JavaScript function name. A browser application that loads the revocation response as trusted JSONP and permits attacker influence over callback can therefore execute attacker-controlled JavaScript in the including application's origin, with access to its DOM and script-accessible data. The feature is disabled by default, so only deployments that explicitly enable JSONP are affected. This issue is fixed in version 4.0.0.
Last activity 29 Sep 2026. Patch Forecast updates every hour.