CVE-2026-49265CWE-208

CVE-2026-49265

Medium · published October 13, 2026

CVSS v3.1
6.8
EPSS
0%
Percentile
30.2
In the wild
Unconfirmed
What it is

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_plain and code_challenge_method_s256. Because the comparison can return after a length difference or the first mismatching character, repeated token endpoint measurements can reveal common-prefix timing information that could potentially allow recovery of the code_verifier, unauthorized access-token acquisition, and account takeover. Practical exploitation requires an intercepted, single-use authorization code and enough measurements to overcome real-world network noise; the local timing benchmark does not establish practical remote account takeover, so the weakness remains a defense-in-depth concern. This issue is fixed in version 4.0.0.

The record
Technical detail
CVSS v3.1
6.8 · MEDIUM
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
CVSS v4.0
Not supplied
EPSS
0.00375 · 30.2th percentile
Weakness
CWE-208 · Observable Timing Discrepancy
Published
2026-10-13T20:17Z
References (5)
EPSS history
Timeline
  • 15 OCT 03:32Z
    EPSS moved — → 0%
    epss
  • 13 OCT 15:47Z
    OAuthLib: Timing Attack Vulnerability in PKCE code_verifier Comparison
    cvelistv5
  • 13 OCT 15:47Z
    OAuthLib: Timing Attack Vulnerability in PKCE code_verifier Comparison
    cvelistv5