Ya está disponible una prueba de concepto pública CVE-2026-55200un defecto crítico en libssh2 que permite que un servidor SSH malicioso o comprometido provoque daños en la memoria de un cliente que se conecta, con posible ejecución de código. Sin credenciales, sin interacción del usuario. El error afecta a todas las versiones hasta e incluyendo 1.11.1 y lleva una puntuación CVSS 4.0 de 9.2.
libssh2 es una biblioteca SSH del lado del cliente, no un servidor. Esa distinción importa. Está integrado en curl, Git, PHP, agentes de respaldo, actualizadores de firmware y una larga lista de dispositivos.
Cualquier cosa que lo vincule y llegue a un punto final SSH que no es de confianza es un objetivo potencial. Muchas de esas copias están vinculadas estáticamente, por lo que una actualización del paquete de distribución no las afectará y es posible que no sepas que están allí.
Cómo funciona el error
La falla reside en ssh2_transport_read() en transport.c, la función que analiza los paquetes SSH entrantes durante el protocolo de enlace. Leyó el campo de longitud de paquete controlado por el atacante y solo rechazó valores inferiores a 1. Nunca impuso un límite superior.
El cálculo del tamaño agrega la longitud del paquete a un par de valores pequeños usando aritmética de 32 bits, por lo que una longitud de 0xffffffff se ajusta a un número pequeño. libssh2 luego asigna un búfer del tamaño del número pequeño, mientras que el código posterior escribe el paquete completo y de gran tamaño en él.
El resultado es una escritura en el montón fuera de los límites, clasificada como CWE-680desbordamiento de enteros a desbordamiento de búfer, una primitiva clásica para la ejecución de código. El arreglar agrega la verificación que falta, rechazando cualquier longitud de paquete superior a LIBSSH2_PACKET_MAXPAYLOAD antes de que se ejecuten las matemáticas.
libssh2 ha tropezado con esto antes. En 2019, lanzó la versión 1.8.1 para corregir un lote de nueve fallas lideradas por CVE-2019-3855, un desbordamiento de enteros casi idéntico en su lectura de transporte que también permitía que un servidor malicioso ejecutara código en un cliente conectado. Siete años después, la misma clase de error vuelve a aparecer en el mismo código.
El investigador de seguridad Tristan Madani informó del problema. Los mantenedores fusionaron el parche a través de solicitud de extracción #2052 el 12 de junio. VulnCheck publicó el CVE el 17 de junio.
Se ha realizado una prueba de concepto pública. publicado en «exploitarium», un archivo GitHub de código de explotación cuyo autor dice que las entradas se publicaron sin informe previo. El archivo contiene un andamio de activación SSH verificado localmente y un arnés RCE local controlado para el error libssh2, no un exploit remoto llave en mano. La ejecución confiable de código en una aplicación activa aún dependería del binario de destino, el comportamiento del asignador, las mitigaciones y cómo el software incorpora libssh2.
Vale la pena sopesar el contexto. El autor admite que el archivo salió incompleto, con algunas entradas débiles y la IA provocando la confusión. A partir de ahora, la calificación de explotación de CISA para CVE todavía es nula y no se ha informado de ningún uso silvestre.
que hacer
Aún no hay una versión fija de libssh2. El parche se encuentra en la fuente principal y se publica una versión etiquetada. todavía estando preparadopor lo que las distribuciones de Linux y los proyectos posteriores lo respaldan ellos mismos; Debian, por ejemplo, ya tiene una compilación reparada en pruebas.
NHS England Digital tiene emitió un aviso instando a las organizaciones afectadas a actualizarse.
- Haga un inventario de todo lo que vincula libssh2, incluidas las copias estáticas o empaquetadas que los administradores de paquetes no marcarán. Las implementaciones de curl, Git y PHP son portadores comunes.
- Aplique una compilación que incluya la confirmación 97acf3d, ya sea un backport de distribución o una compilación de código fuente parcheada, y observe el canal de asesoramiento de su proveedor para conocer el estado de la versión.
- Hasta que se aplique el parche, restrinja las conexiones SSH salientes a servidores confiables y verifique las claves del host. Dar prioridad a los clientes que llegan a servidores SSH externos o resolver hosts mediante nombres que un atacante podría redirigir. Esté atento a anomalías de paquetes de gran tamaño y fallas inexplicables de clientes.
Parche también el resto del lote: CVE-2026-55199 (CVSS 8.2), una denegación de servicio que atrapa a un cliente que se conecta en un bucle de CPU mediante un recuento de extensiones falso, y CVE-2025-15661 (CVSS 8.3), una sobrelectura del montón SFTP.
El problema principal es un error de corrupción de memoria previo a la autenticación en el código que se incluye en más clientes y dispositivos de los que nadie ha mapeado por completo.
Las preguntas abiertas son qué tan rápido alguien convierte el arnés local en un exploit remoto confiable y cuántas copias empaquetadas permanecen vulnerables porque nadie recuerda que enviaron libssh2 dentro.




