Se ha descubierto una vulnerabilidad que afecta a las funciones que realizan la verificación de los certificados en todas las versiones de GnuTLS. Este fallo permitiría que un atacante cree un certificado especialmente diseñado y pase por alto los controles de validación de certificados. Este fallo se ha descubierto a raíz de una auditoría de GnuTLS en el sistema operativo Red Hat.
Esta vulnerabilidad afecta a cualquier versión de GnuTLS excepto en la última, o si aplicamos el correspondiente parche que ya se ha liberado. Las versiones de GnuTLS no vulnerables por este fallo son las 3.2.12 o la 3.1.22. En la página web oficial de GnuTLS se puede encontrar el aviso de seguridad de esta vulnerabilidad y la información asociada. El parche en forma de código en C se encuentra en esta página web, el archivo que tiene que ser modificado se encuentra en /lib/x509/verify.c. Después de aplicar el parche, la librería GnuTLS debe ser reiniciada para que se apliquen los cambios.
El certificado que no se valida correctamente es el X.509, causando un reporte satisfactorio cuando en realidad no lo es. Un posible atacante podría obtener un certificado seguro de una CA (Certificate Authority) y posteriormente usar este fallo para emitir certificados en otros sitios, la validación de GnuTLS se lo daría como correcto.
Tenéis más información y enlaces de descarga del GnuTLS en el sitio oficial de Red Hat.
Este fallo recuerda mucho al famoso goto fail; de Apple, aunque últimamente se están descubriendo muchas vulnerabilidades en el TLS.