Vulnerability · CVE-2026-49264
Oauthlib : Unsafe JSONP callback injection in RevocationEndpoint allows arbitrary JavaScript response generation
Published Sep 29, 2026 · catalog updated Oct 13, 2026 · Oauthlib : Unsafe JSONP
Check if you run it
No confirmed exploitation is on record for CVE-2026-49264. EPSS is 0.31%. Act only if a listed version of Oauthlib : Unsafe JSONP is installed.
Gaps on this record
- The stored product name is a package slug. The name on this page is taken from the title (Oauthlib : Unsafe JSONP).
- No vendor fix or required action is stored. Compare the linked advisory before you change production.
- Severity
- Medium6.1
- Known exploitation
- Not in CISA/VulnCheck KEV
- EPSS
- 0.31%
- Remediation
- Advisory link
- Affected products
- PyPI oauthlib
### Summary When , oauthlib's reflects the user-supplied parameter directly into JavaScript response bodies on both success and error paths without validating that it is a legal JSONP callback name. This allows arbitrary JavaScript response generation instead of a restricted function call, making the documented JSONP revocation feature unsafe for browser-based JSONP consumption when attackers can influence . ### Details The issue is in . When is passed to the constructor, two code paths wrap the response body using the user-supplied parameter: The value comes from HTTP request parameters, either the query string or POST body, via the class in (lines 394-395), which merges query and body parameters into . Any value the client sends as is used verbatim. There is no validation of any kind on the callback parameter: - No check that it is a valid JavaScript identifier - No whitelist of allowed characters - No escaping or sanitization A safe JSONP implementation must validate that the callback is a legal JavaScript function name (e.g., matching ). Without this, the attacker controls the JavaScript code returned in the response body. This is the standard mitigation used by jQuery, Express.js, Google APIs, and other major JSONP implementations. **How the injection works:** An attacker sends a revocation request with a crafted callback value: The server responds with: This is syntactically valid JavaScript. executes as a statement, and comments out the rest of the line. The attacker has full control over the code that appears before the . **Execution context and attack surface:** JSONP works by having a browser load a remote script via . The loaded script executes in the origin of the **including page**, not the remote server. This means a tag on would execute the payload in 's context, not the auth server's context. The impact comes from client-side integrations that consume this endpoint as trusted JSONP. If a legitimate OAuth client includes pointed at the revocation endp
Are you affected?
Enter the version you run. The result uses only the ranges stored on this record.
The check returns affected, not affected, or incomplete. It does not guess a version that is missing from the record.
- PyPI oauthlib0.6.1 → 4.0.0
How to fix CVE-2026-49264
Recommended remediation
A patch or advisory reference is linked. Open the original publisher for availability by product version.
Official advisories
What to do
Three questions, each answered from this record only. Confirm the vendor advisory before you patch.
Should you patch?
No confirmed exploitation is on record for CVE-2026-49264. EPSS is 0.31%. Act only if a listed version of Oauthlib : Unsafe JSONP is installed.
Which versions are affected?
Compare what you have installed with 0.6.1 → 4.0.0. Compare the installed version with the linked vendor advisory before you change production.
What should an analyst verify?
CWE-79: Cross-site Scripting (XSS). EPSS 0.31%. There is no CISA KEV listing. No Exploit-DB or Metasploit reference is linked. Use the source links for the original advisory.
Code
The project this record applies to. Exploit listings stay in References.
Timeline
Detection, updates, and resolution for this record.
Sep 29, 2026 · Catalog
Detected
### Summary When , oauthlib's reflects the user-supplied parameter directly into JavaScript response bodies on both success and error paths without validating that it is a legal JSONP callback name. This allows arbitrary JavaScript response generation instead of a restricted function call, making the documented JSONP revocation feature unsafe for browser-based JSONP consumption when attackers can
Oct 13, 2026 · Catalog
Fix available
PyPI oauthlib 0.6.1 → 4.0.0
Oct 13, 2026 · GitHub Advisory Database
Fix available
oauthlib fixed in 4.0.0
Oct 13, 2026 · GitHub Advisory Database
Fix available
oauthlib fixed in 4.0.0
Oct 13, 2026 · Catalog
Updated
### Summary When , oauthlib's reflects the user-supplied parameter directly into JavaScript response bodies on both success and error paths without validating that it is a legal JSONP callback name. This allows arbitrary JavaScript response generation instead of a restricted function call, making the documented JSONP revocation feature unsafe for browser-based JSONP consumption when attackers can
Sources
- CVE.orgVulnerability recordCVE-2026-49264
Official CVE identifier
cve.org - FIRST EPSSExploitation probabilityCVE-2026-49264
30-day exploitation probability 0.3%
first.org - GitHub Advisory DatabasePackage advisoryGHSA-hj66-6f7g-4r5v
GitHub Advisory Database record mirrored by OSV.
github.com - OpenSSF OSV / OSV ScannerPackage advisoryGHSA-hj66-6f7g-4r5v
Oauthlib : Unsafe JSONP callback injection in RevocationEndpoint allows arbitrary JavaScript response generation
osv.dev
References
Freshness
Last verified in this catalog Oct 18, 2026. Significant claims (KEV, EPSS, CVSS, affected ranges) come from the source rows above — open the original publisher for the authoritative advisory.