Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en el método de autenticación del cliente `private_key_jwt` [1] en un OAuth2 Server y OpenID Certified™ OpenID Connect Provider escrito en Go en Hydra (CVE-2020-5300)

Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
06/04/2020
Última modificación:
07/04/2020

Descripción

En Hydra (un OAuth2 Server y OpenID Certified™ OpenID Connect Provider escrito en Go), versiones anteriores a 1.4.0+oryOS.17, cuando se usa el método de autenticación del cliente `private_key_jwt` [1], la especificación OpenId dice lo siguiente sobre la afirmación `jti`: "Un identificador único para el token, que puede ser usado para impedir la reutilización del token. Estos tokens DEBEN solo ser usados una vez, a menos que las condiciones de reutilización sean negociadas entre las partes". Hydra no comprueba la exclusividad de este valor de 'jti'. Una explotación de esta vulnerabilidad es algo difícil porque: - TLS protege contra ataques de tipo MITM, lo que hace que sea difícil interceptar tokens válidos para ataques de repetición - El tiempo de expiración del JWT ofrece solo una pequeña ventana oportunidad para que pueda reproducirse Esto ha sido parcheado en la versión v1 .4.0+oryOS.17

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:ory:hydra:*:*:*:*:*:*:*:* 1.4.0 (excluyendo)