CVE-2026-49264
MediumCVSS 6.1Exploitation Probability (EPSS)
Low risk23th percentile - higher than 23% of all known CVEs
Summary
OAuthLib versions 0.6.1 through 4.0.0, when enable_jsonp=True, reflect an unvalidated callback request parameter into success and error response bodies in RevocationEndpoint. This allows execution of attacker-controlled JavaScript in the context of an application that loads the response as trusted JSONP, if the attacker can influence the callback. The feature is disabled by default and only affects deployments that explicitly enable JSONP. Fixed in version 4.0.0.
Risk Assessment
Deployments with JSONP enabled are vulnerable to XSS attacks, which can lead to session data theft or actions performed on behalf of the user within the application context.
Recommendation
Update OAuthLib to version 4.0.0 or later; if not possible, disable JSONP support (enable_jsonp=False) in the configuration.
Other vulnerabilities in OAuthLib
See all- CVE-2026-118669High
Prior to 4.0.0, OAuthLib's client_credentials and Resource Owner Password Credentials token grant handlers can authenticate request.client as one confidential client while retaining an attacker-supplied request.client_id for validate_grant_type and validate_scopes. A lower-privilege authenticated client can therefore cause grant and scope authorization to use another client's identity, potentially issuing tokens with unauthorized grants or scopes.
- CVE-2026-49265Medium
OAuthLib versions 3.0.0 through 4.0.0 compare attacker-supplied code_verifier values with stored challenges using ordinary string equality in PKCE checks, potentially leaking common-prefix timing information. This could allow recovery of the code_verifier, unauthorized access-token acquisition, and account takeover, though practical exploitation requires an intercepted single-use authorization code and many measurements. The issue is fixed in version 4.0.0.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

