Google revela un error grave en la biblioteca de cifrado de Libgcrypt, que afecta a muchos proyectos

Una vulnerabilidad «grave» en el software de cifrado Libgcrypt de GNU Privacy Guard (GnuPG) podría haber permitido que un atacante escribiera datos arbitrarios en la máquina de destino, lo que podría conducir a la ejecución remota de código.

La falla, que afecta a la versión 1.9.0 de libgcrypt, fue descubierta el 28 de enero por Tavis Ormandy de Project Zero, una unidad de investigación de seguridad dentro de Google dedicada a encontrar errores de día cero en sistemas de hardware y software.

Ninguna otra versión de Libgcrypt se ve afectada por la vulnerabilidad.

«Hay un desbordamiento del búfer de pila en libgcrypt debido a una suposición incorrecta en el código de administración del búfer de bloque», dijo Ormandy. «Solo descifrar algunos datos puede desbordar un búfer de almacenamiento dinámico con datos controlados por el atacante, no se valida ninguna verificación o firma antes de que ocurra la vulnerabilidad».

GnuPG abordó la debilidad casi inmediatamente un día después de la divulgación, al tiempo que instaba a los usuarios a dejar de usar la versión vulnerable. La última versión se puede descargar aquí.

La biblioteca Libgcrypt es un conjunto de herramientas criptográficas de código abierto que se ofrece como parte del paquete de software GnuPG para cifrar y firmar datos y comunicaciones. Una implementación de OpenPGP, se usa para la seguridad digital en muchas distribuciones de Linux como Fedora y Gentoo, aunque no se usa tan ampliamente como OpenSSL o LibreSSL.

Según GnuPG, el error parece haberse introducido en 1.9.0 durante su fase de desarrollo hace dos años como parte de un cambio para «reducir los gastos generales en la función genérica de escritura hash», pero Google Project Zero lo detectó la semana pasada.

Por lo tanto, todo lo que un atacante debe hacer para desencadenar esta falla crítica es enviar a la biblioteca un bloque de datos especialmente diseñados para descifrar, engañando así a la aplicación para que ejecute un fragmento arbitrario de código malicioso incrustado en él (también conocido como shellcode) o bloquee un programa. (en este caso, gpg) que se basa en la biblioteca Libgcrypt.

«Explotar este error es simple y, por lo tanto, se requiere una acción inmediata para los usuarios de 1.9.0», señaló el autor de Libgcrypt, Werner Koch. «Se ha cambiado el nombre de los tarballs 1.9.0 en nuestro servidor FTP para que los scripts ya no puedan obtener esta versión».

Continua leyendo