CVE-2026-49265
OAuthLib es una implementación de la lógica de firma de solicitudes OAuth para Python 3.6 o posterior. Desde la versión 3.0.0 hasta la 4.0.0, las comprobaciones PKCE de OAuthLib en oauthlib/oauth2/rfc6749/grant_types/authorization_code.py comparan los valores code_verifier proporcionados por el atacante con los desafíos almacenados mediante una igualdad de cadenas ordinaria en code_challenge_method_plain y code_challenge_method_s256.
Leer descripción completaMostrar menos
Dado que la comparación puede devolver un resultado tras detectar una diferencia de longitud o el primer carácter que no coincide, mediciones repetidas del endpoint de token podrían revelar información de tiempos por prefijo común que, potencialmente, permitiría recuperar el code_verifier, obtener sin autorización un token de acceso y tomar el control de la cuenta. La explotación práctica requiere un código de autorización interceptado de un solo uso y suficientes mediciones para superar el ruido de red del mundo real; la prueba de rendimiento temporal local no demuestra una toma de control remota práctica de cuentas, por lo que la debilidad sigue siendo una preocupación de defensa en profundidad. Este problema está corregido en la versión 4.0.0.
Traducción automática del texto original de NVD (en inglés).
CVSS
- Puntuación base
- 6.8
- Versión
- 3.1
- Vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días
- 0.38 %
- Percentil entre todas las CVEs puntuadas
- 30
- Fecha de la puntuación
- 20/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1203Exploitation for Client Executionexecution70 % - Impacto principal
T1528Steal Application Access Tokencredential access45 % - Impacto secundario
T1078Valid Accountsstealth · persistence · privilege escalation · initial access25 %
El vector CVSS con UI:R fija T1203; el texto indica que la explotación práctica no está demostrada y es defensa en profundidad, por lo que la confianza en impactos es baja.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
CWE
- CWE-208
Referencias
Mostrar las 5 referencias
- https://github.com/oauthlib/oauthlib/commit/74664d3fe037a354e180e305135c6bab1747a6b0
- https://github.com/oauthlib/oauthlib/pull/963
- https://github.com/oauthlib/oauthlib/releases/tag/v4.0.0
- https://github.com/oauthlib/oauthlib/security/advisories/GHSA-xpv3-w29h-x7cv
- https://github.com/pypa/advisory-database/tree/main/vulns/oauthlib/PYSEC-2026-4114.yaml
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-49265",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-49265",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-10-13T16:19:32.600149Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 6.8,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "REQUIRED",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.2,
"exploitabilityScore": 1.6
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "oauthlib",
"product": "oauthlib",
"versions": [
{
"status": "affected",
"version": ">= 3.0.0, < 4.0.0"
}
]
}
]
}
],
"published": "2026-10-13T16:17:20.713",
"references": [
{
"url": "https://github.com/oauthlib/oauthlib/commit/74664d3fe037a354e180e305135c6bab1747a6b0",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/oauthlib/oauthlib/pull/963",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/oauthlib/oauthlib/releases/tag/v4.0.0",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/oauthlib/oauthlib/security/advisories/GHSA-xpv3-w29h-x7cv",
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/pypa/advisory-database/tree/main/vulns/oauthlib/PYSEC-2026-4114.yaml",
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Deferred",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-208"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"lastModified": "2026-10-16T20:04:29.760",
"sourceIdentifier": "security-advisories@github.com"
}