p PatchFirst

CVE-2026-49264

CVE-2026-49264 · OAuthLib: Unsafe JSONP callback injection in RevocationEndpoint allows arbitrary JavaScript response generation

This page contains facts from public vulnerability sources. Check the original advisory before updating.

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.

CVSS 6.1 · Medium · EPSS 0.2% · Public exploit · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • oauthlib

    Versions
    • >= 0.6.1, < 4.0.0: Affected

    No fix published

  • python-oauthlib Debian:12

    Versions
    • 3.2.2-1
    • 3.2.2-2
    • 3.2.2-3
    • 3.2.2-4
    • 3.3.1-1
    • 3.3.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Debian:13

    Versions
    • 3.2.2-3
    • 3.2.2-4
    • 3.3.1-1
    • 3.3.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Debian:14

    Versions
    • 3.2.2-3
    • 3.2.2-4
    • 3.3.1-1
    • 3.3.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • oauthlib PyPI

    Versions
    • 0.6.1
    • 0.6.2
    • 0.6.3
    • 0.7.0
    • 0.7.1
    • 0.7.2
    • 1.0.0
    • 1.0.1
    • 1.0.2
    • 1.0.3
    • 1.1.0
    • 1.1.1
    • 1.1.2
    • 2.0.0
    • 2.0.1
    • 2.0.2
    • 2.0.3
    • 2.0.4
    • 2.0.5
    • 2.0.6
    • 2.0.7
    • 2.1.0
    • 3.0.0
    • 3.0.1
    • 3.0.2
    • 3.1.0
    • 3.1.1
    • 3.2.0
    • 3.2.1
    • 3.2.2
    • 3.3.0
    • 3.3.1
    Affected ranges
    • ECOSYSTEM: ≥ 0.6.1, < 4.0.0

    Update to 4.0.0

  • python-oauthlib Ubuntu:16.04:LTS

    Versions
    • 1.0.0-1
    • 1.0.3-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Ubuntu:18.04:LTS

    Versions
    • 2.0.1-1
    • 2.0.4-1
    • 2.0.6-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Ubuntu:20.04:LTS

    Versions
    • 2.1.0-1
    • 3.1.0-1ubuntu1
    • 3.1.0-1ubuntu2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Ubuntu:22.04:LTS

    Versions
    • 3.1.0-2
    • 3.1.1-1
    • 3.2.0-1
    • 3.2.0-1ubuntu0.1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Ubuntu:24.04:LTS

    Versions
    • 3.2.2-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Ubuntu:26.10

    Versions
    • 3.3.1-1build1
    • 3.3.1-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-oauthlib Ubuntu:26.04:LTS

    Versions
    • 3.2.2-3
    • 3.3.1-1
    • 3.3.1-1build1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

Original sources

Check your server →