CSRF in Authlib

CVE-2025-68158

Authlib is a Python library which builds OAuth and OpenID Connect servers. In versions 1.0.0 through 1.6.5, cache-backed state/request-token storage is not tied to the initiating user session, so CSRF is possible for any attacker that has a valid state (easily obtainable via an attacker-initiated authentication flow). When a cache is supplied to the OAuth client registry, FrameworkIntegration.set_state_data writes the entire state blob under _state_{app}_{state}, and get_state_data ignores the caller’s session altogether. This issue has been patched in version 1.6.6.

Vulnerability class: CSRF (Cross-Site Request Forgery)

EPSS: 0.002 (14.9th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 5.7 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N.

Affected products

  • Authlib — versions >= 1.0.0, < 1.6.6

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2025-68158?
CVE-2025-68158 is a medium-severity vulnerability in Authlib, classified under Cross-Site Request Forgery (CSRF). CVSS score: 5.7/10. Published 2026-01-08.
How severe is CVE-2025-68158?
Medium severity. CVSS v3 base score is 5.7 out of 10.