Noticias

Vulnerabilidad de omisión de autenticación criptográfica de Bouncy Castle

diciembre 21, 2020
Se ha informado de una grave vulnerabilidad de omisión de autenticación en Bouncy Castle, una popular biblioteca de criptografía de código abierto. Cuando se explota, la vulnerabilidad (CVE-2020-28052) puede permitir que un atacante obtenga acceso a cuentas de usuario o administrador debido a una debilidad criptográfica en la forma en que se verifican las contraseñas. […]

Se ha informado de una grave vulnerabilidad de omisión de autenticación en Bouncy Castle, una popular biblioteca de criptografía de código abierto.

Cuando se explota, la vulnerabilidad (CVE-2020-28052) puede permitir que un atacante obtenga acceso a cuentas de usuario o administrador debido a una debilidad criptográfica en la forma en que se verifican las contraseñas.

Bouncy Castle es un conjunto de API de criptografía que utilizan los desarrolladores de Java y C # / .NET que crean aplicaciones de seguridad que prefieren no preocuparse por desarrollar sus propios algoritmos criptográficos.

Solo la versión .NET de Bouncy Castle se ha descargado más de 16.000.000 de veces , lo que habla de la gravedad de las vulnerabilidades en Bouncy Castle, una biblioteca en la que confían los desarrolladores de aplicaciones de misión crítica.

Algoritmo de hash de contraseña defectuoso

Esta semana, dos investigadores Matti Varanka y Tero Rontti del Centro de Investigación de Ciberseguridad Synopsys han revelado una vulnerabilidad de omisión de autenticación en Bouncy Castle.

La falla, rastreada como CVE-2020-28052, existe en la  clase OpenBSDBcrypt de Bouncy Castle que implementa el algoritmo de hash de contraseña Bcrypt.

Es decir, la función  Bcrypt.doCheckPassword () responsable de realizar una coincidencia de hash de contraseña byte a byte tiene una lógica errónea.

“El código busca un índice de caracteres de 0 a 59 inclusive, en lugar de verificar que los caracteres de las posiciones 0 a 59 coincidan”, se lee en el  informe publicado por Synopsys.

“Esto significa que las contraseñas que dan como resultado hash que, por ejemplo, no contienen bytes entre 0x00 y 0x3B coinciden con cualquier otro hash de contraseña que no los contenga. Pasar esta verificación significa que un atacante no necesita un byte-for- coincidencia de bytes con el valor hash almacenado”, continúa el informe.

Vulnerabilidad de API de castillo hinchable CVE-2020-28052

Código vulnerable para CVE-2020-28052 en la función Bcrypt.doCheckPassword () de Bouncy Castle 

Básicamente, esto se reduce a forzar un conjunto de cadenas que producirán un hash que, cuando se compara con la función  doCheckPassword ()  , devuelve verdadero (es decir, coincidencia exitosa). 

La explotación exitosa de la falla significa que un atacante podría usar la fuerza bruta de la contraseña de cualquier cuenta de usuario, incluida la del administrador, si las verificaciones de contraseña basadas en hash de una aplicación utilizan Bouncy Castle.

autenticaciónbouncycastleomisiónvulnerabilidad

Comparte este Artículo

Artículos relacionados