Vulnerabilities

Vulnerability · CVE-2026-49265

Oauthlib: Timing Attack Vulnerability in PKCE code_verifier Comparison (CWE-208)

Published Sep 29, 2026 · catalog updated Oct 13, 2026 · Oauthlib: Timing Attack Vulnerability

Check if you run it

No confirmed exploitation is on record for CVE-2026-49265. EPSS is 0.38%. Act only if a listed version of Oauthlib: Timing Attack Vulnerability 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: Timing Attack Vulnerability).
  • No vendor fix or required action is stored. Compare the linked advisory before you change production.
Severity
Medium6.8
Known exploitation
Not in CISA/VulnCheck KEV
EPSS
0.38%
Remediation
Advisory link
Affected products
PyPI oauthlib

## Summary A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation of the Authorization Code Grant flow. The function uses Python's standard operator for string comparison instead of a constant-time comparison function, potentially allowing timing-based attacks. ## Affected Component - File: - Functions: , - Vulnerability Type: CWE-208 (Observable Timing Discrepancy) ## Technical Details Python's operator uses short-circuit evaluation when comparing strings: 1. Returns immediately if lengths differ 2. Compares characters left-to-right, stopping at first mismatch This means comparison time varies linearly with the length of the common prefix between the attacker-supplied verifier and the stored challenge, creating a measurable timing oracle. ## Proof of Concept Tested locally against oauthlib source (network jitter eliminated to isolate pure Python execution time): | Input | Result | Time (10M iterations) | |---|---|---| | Wrong first char ( + *49) | Fast reject | 0.34106s | | 49 chars correct ( *49 + ) | Deep compare | 0.37847s | | **Difference** | | **0.03741s** | The ~37ms delta over 10M iterations corresponds to nanosecond-level differences per call, which are statistically exploitable under controlled conditions. ## Attack Scenario 1. Attacker intercepts via Custom URI Scheme Hijacking 2. PKCE blocks token request — attacker lacks 3. Attacker sends repeated requests to endpoint measuring response times 4. Using timing oracle, attacker recovers character by character 5. Attacker obtains Access Token → Account Takeover > **Note:** Practical exploitability is limited due to the single-use nature of > authorization codes and real-world network noise. However, the vulnerable > pattern should be corrected as a defense-in-depth measure. ## Recommended Fix Replace with for constant-time comparison: cr: Elvin Latifli

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 oauthlib3.0.0 → 4.0.0

How to fix CVE-2026-49265

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-49265. EPSS is 0.38%. Act only if a listed version of Oauthlib: Timing Attack Vulnerability is installed.

Which versions are affected?

Compare what you have installed with 3.0.0 → 4.0.0. Compare the installed version with the linked vendor advisory before you change production.

What should an analyst verify?

CWE-208. EPSS 0.38%. 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.

  1. Sep 29, 2026 · Catalog

    Detected

    ## Summary A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation of the Authorization Code Grant flow. The function uses Python's standard operator for string comparison instead of a constant-time comparison function, potentially allowing timing-based attacks. ## Affected Component - File: - Functions: , - Vulnerability Type: CWE-208 (Observable Timing Discrepancy) ## Te

  2. Oct 13, 2026 · Catalog

    Fix available

    PyPI oauthlib 3.0.0 → 4.0.0

  3. Oct 13, 2026 · GitHub Advisory Database

    Fix available

    oauthlib fixed in 4.0.0

  4. Oct 13, 2026 · GitHub Advisory Database

    Fix available

    oauthlib fixed in 4.0.0

  5. Oct 13, 2026 · Catalog

    Updated

    ## Summary A timing side-channel vulnerability exists in the PKCE (RFC 7636) implementation of the Authorization Code Grant flow. The function uses Python's standard operator for string comparison instead of a constant-time comparison function, potentially allowing timing-based attacks. ## Affected Component - File: - Functions: , - Vulnerability Type: CWE-208 (Observable Timing Discrepancy) ## Te

Sources

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.