El servidor web embebido GoAhead incluía una lista de revocación de certificados en su backend TLS por defecto, pero no habilitaba la verificación de revocación. Como resultado, en configuraciones afectadas, un certificado de cliente revocado podía seguir autenticándose correctamente.
El fallo afecta a compilaciones que utilizan el backend OpenSSL con TLS mutuo, donde el servidor valida el certificado del cliente y viceversa, y en las que se ha configurado una lista de revocación para bloquear certificados revocados. Se trata de una configuración que el operador debe activar de forma deliberada; una compilación por defecto no la incluye. GoAhead 6.1.1, distribuido a los fabricantes de dispositivos el 2 de agosto de 2026 y publicado públicamente el 12 de octubre, corrige la falla.
GoAhead es un servidor web ligero que los fabricantes integran en el firmware para ejecutar páginas de administración en routers, impresoras, gateways y controladores industriales. Su creador, EmbedThis, afirma que se ejecuta en cientos de millones de dispositivos. El fallo fue descubierto por Sébastien Féry, de FoxIO, quien lo describió junto con otros dos problemas TLS en un informe publicado el 26 de octubre.
En una compilación afectada, el servidor carga el archivo de la lista de revocación al arrancar y no notifica ningún error, por lo que un operador que lo configuró tiene motivos para creer que la revocación funciona. No es así: un cliente cuyo certificado fue revocado, por ejemplo un dispositivo robado o retirado, completa el handshake como si el certificado siguiera siendo válido y obtiene el acceso que permite esa identidad. En las pruebas de FoxIO contra GoAhead 6.1.0 con OpenSSL 3.6.2, un certificado revocado fue aceptado con la comprobación del emisor activada.
El aviso de OpenSSL describe los certificados de cliente revocados como aceptados de forma silenciosa. Para explotar la falla, la compilación debe usar el backend OpenSSL con certificados de cliente obligatorios, un paquete de autoridades de certificación de confianza y la comprobación del emisor habilitada, además de una lista de revocación configurada; el atacante debe poseer un certificado firmado por una autoridad de confianza y marcado como revocado. Las compilaciones que usan el backend Mbed TLS no se ven afectadas, ya que ese backend verifica la revocación mediante una ruta de código distinta.
El identificador del aviso es CVE-2026-115881, calificado con 9.1 por EmbedThis. A fecha del 27 de octubre, ese identificador y los demás mencionados aún no estaban activos en las bases de datos públicas de CVE y NVD; EmbedThis afirma haberlos solicitado. Las valoraciones de gravedad son las del propio fabricante.
Otros problemas TLS
Los investigadores describen otros dos problemas, cada uno vinculado a una compilación TLS específica. Las versiones y correcciones difieren, por lo que cada uno se asocia a un backend concreto.
El problema de Mbed TLS solo llega a afectar a una sesión si el cliente acepta la configuración defectuosa. OpenSSL, las versiones actuales de Go y Java, y los navegadores convencionales rechazan un valor tan pequeño y recurren a un intercambio de claves más fuerte, por lo que la sesión nunca se completa. Los clientes sin comprobación de tamaño mínimo, como algunos embebidos o personalizados, lo aceptan, y entonces cualquiera que haya registrado el tráfico puede calcular la clave y leer la sesión. Las sesiones TLS 1.3 y ECDHE no se ven afectadas, y Mbed TLS 4.x eliminó el intercambio de claves del que dependen.
El problema de LibreSSL permite a un atacante presentar una cadena de certificados más larga que el límite de 10 certificados de GoAhead y aun así completar el handshake como cliente autenticado, sin necesidad de ninguna clave de confianza. Solo aparece en compilaciones enlazadas con las versiones antiguas de LibreSSL indicadas y únicamente cuando se exigen certificados de cliente con la comprobación del emisor desactivada. OpenSSL, BoringSSL, AWS-LC y LibreSSL 4.x rechazan la cadena demasiado larga.
Distribución de la corrección y estado de explotación
El backend y la configuración que usa cada compilación se eligen al compilar el firmware, por lo que el propietario de un dispositivo no puede saber desde fuera cuáles se aplican. Esa es también la razón de que la corrección tarde en llegar: GoAhead 6.1.1 es un reemplazo directo que los fabricantes deben recompilar y distribuir como actualización de firmware, y el propietario solo la recibe cuando su fabricante lo hace. Se desconoce si algún fabricante ya la ha distribuido.
A fecha del 27 de octubre, ninguna fuente había informado del uso de estos problemas en ataques. La política de EmbedThis consiste en levantar el embargo y publicar antes si una falla está siendo explotada o divulgada por terceros, por lo que la publicación coordinada del 12 de octubre es coherente con la ausencia de ataques conocidos. Sin embargo, no demuestra que no existan. EmbedThis notifica a sus clientes las actualizaciones de seguridad a través de su portal Builder. FoxIO ha publicado código de prueba de concepto y ofrece huellas mediante su herramienta JA4Scan para localizar servidores GoAhead por backend. La herramienta es gratuita, pero su código fuente solo está disponible bajo petición, y una huella identifica una compilación, no un servidor confirmado como vulnerable.
Ninguno de los fabricantes que EmbedThis enumera como usuarios de GoAhead, entre ellos HP, Oracle, Siemens, Canon, Rockwell, D-Link y Comcast, ha demostrado ejecutar un backend y una configuración afectados. La población afectada no está establecida.
Once avisos cerrados en la versión 6.1.1
La misma versión 6.1.1 cierra 11 avisos en total, tres de ellos calificados como críticos. Uno es un bypass de inicio de sesión: en una compilación que use autenticación HTTP Basic o inicio de sesión por formulario, un atacante que conozca un nombre de usuario válido puede iniciar sesión con cualquier contraseña si la contraseña almacenada de ese usuario está en el formato Blowfish más reciente, que GoAhead incorporó en la versión 6.1.0. EmbedThis señala que el inicio de sesión por formulario es el predeterminado en sus páginas de administración integradas.
Tras actualizar, EmbedThis recomienda cerrar las sesiones activas, reiniciar el servidor y cambiar las contraseñas almacenadas en formato Blowfish.



















Deja una respuesta