vulnerabilidad CVE-2026-35471 goshs: La vulnerabilidad CVE-2026-35471 en el servidor web goshs representa un riesgo crítico de seguridad, con una puntuación CVSS de 9.8, que podría permitir a un atacante remoto y no autenticado borrar archivos arbitrarios del sistema mediante una técnica de path traversal. Analizamos en detalle el fallo, su impacto y proporcionamos una guía práctica para aplicar el parche de manera inmediata.
| CVE ID | CVE-2026-35471 |
| Severidad (CVSS) | 9.8 – CRÍTICA |
| Vector CVSS | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Productos afectados | goshs (SimpleHTTPServer en Go) versiones anteriores a 2.0.0-beta.3 |
| Exploit público | No |
| Fecha publicación | 2026-04-06 |
Puntos clave de la vulnerabilidad CVE-2026-35471
- CVSS 9.8 (Crítico): Atacante remoto, sin privilegios y sin interacción del usuario.
- Tipo de ataque: Path traversal (Directory Traversal) que conduce a la eliminación arbitraria de archivos (tdeleteFile).
- Root cause: Falta de una sentencia
returntras una verificación de path traversal, lo que permite que el flujo de ejecución continúe y elimine el archivo. - Impacto: Confidencialidad, Integridad y Disponibilidad comprometidas (C:H/I:H/A:H). Puede llevar a la denegación de servicio o a la eliminación de datos críticos del servidor.
- Mitigación: Actualizar a goshs versión 2.0.0-beta.3 o superior.
Análisis técnico del fallo de path traversal en goshs
goshs es un servidor HTTP simple escrito en el lenguaje de programación Go, popular para servir archivos estáticos de forma rápida y con un consumo mínimo de recursos. La vulnerabilidad CVE-2026-35471 reside específicamente en la función tdeleteFile(), encargada de gestionar las peticiones de eliminación de archivos. vulnerabilidad CVE-2026-35471 goshs es clave para entender el alcance de esta amenaza.
Según el análisis del advisory de seguridad, el código implementaba una verificación para prevenir ataques de traversía de ruta (path traversal). Sin embargo, tras esta verificación, faltaba una sentencia return que detuviera la ejecución en caso de que se detectara un intento de ataque. Esta omisión permite que, incluso cuando se identifica una ruta maliciosa que intenta escapar del directorio raíz (por ejemplo, utilizando secuencias como ../../../etc/passwd), el programa continúe su flujo e invoque la función de eliminación de archivos del sistema operativo. vulnerabilidad CVE-2026-35471 goshs es clave para entender el alcance de esta amenaza.
Mecanismo de explotación y potencial impacto
Un atacante podría explotar este fallo enviando una petición HTTP DELETE cuidadosamente construida a un endpoint vulnerable. Al no existir una autenticación requerida (PR:N en el vector CVSS) y no necesitarse interacción del usuario (UI:N), la explotación es completamente remota y trivial una vez se conoce el vector. El impacto final es la pérdida de integridad y disponibilidad de los datos, pudiendo borrar archivos de configuración, logs o incluso componentes del sistema operativo, lo que derivaría en una denegación de servicio completa del servidor afectado.
Sistemas y versiones afectadas por la vulnerabilidad CVE-2026-35471
Esta vulnerabilidad afecta exclusivamente al proyecto goshs. Es fundamental verificar la versión instalada en vuestros entornos. A continuación, detallamos el panorama de afectación:
| Producto | Versiones vulnerables | Versión parcheada |
|---|---|---|
| goshs (SimpleHTTPServer en Go) | Todas las versiones anteriores a 2.0.0-beta.3 | 2.0.0-beta.3 y superiores |
Si utilizáis goshs como parte de una cadena de herramientas de desarrollo, en contenedores Docker o en servidores de staging/producción, debéis auditar su presencia y versión de manera prioritaria.
Cómo parchear la vulnerabilidad CVE-2026-35471: guía paso a paso
La remediación es directa: actualizar a la versión parcheada del software. El proceso varía ligeramente según cómo se haya instalado y desplegado goshs.
Paso 1: Identificar la versión actual instalada
Ejecutad el siguiente comando en el terminal donde esté disponible goshs:
goshs --version
Si el comando devuelve una versión inferior a 2.0.0-beta.3, vuestro sistema es vulnerable y debéis proceder con la actualización.
Paso 2: Actualizar goshs usando Go (método recomendado)
Si instalasteis goshs a través de la herramienta go install, la actualización se realiza con el mismo comando, apuntando a la versión etiquetada más reciente:
go install github.com/patrickhener/goshs/v2@latest
Este comando descargará y compilará la última versión estable, que incluye el parche para la vulnerabilidad de path traversal.
Paso 3: Verificar la actualización
Tras la instalación, confirmad que la versión se ha actualizado correctamente ejecutando nuevamente:
goshs --version
Aseguraos de que la salida muestre la versión 2.0.0-beta.3 o superior.
Medidas adicionales de mitigación y workarounds
En casos donde la aplicación del parche no sea inmediatamente posible, considerad implementar las siguientes medidas de mitigación para reducir la superficie de ataque.
Restringir el acceso de red al servicio goshs
Configurad reglas de firewall (iptables, nftables, firewalld, o las del proveedor cloud) para limitar las direcciones IP que pueden conectarse al puerto en el que corre goshs. Permitid solo el acceso desde redes estrictamente necesarias (por ejemplo, la red interna de administración).
# Ejemplo con iptables (Linux) para permitir solo la IP 192.168.1.100 en el puerto 8000
iptables -A INPUT -p tcp --dport 8000 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
Deshabilitar el método HTTP DELETE
Si no utilizáis la funcionalidad de eliminar archivos a través del servidor, la solución más efectiva a corto plazo es deshabilitar por completo el método HTTP DELETE. Esto puede requerir modificar el código fuente de goshs o ejecutarlo detrás de un proxy inverso (como Nginx o Apache) configurado para bloquear dichas peticiones.
Ejemplo de configuración en Nginx para rechazar métodos DELETE:
location / {
if ($request_method = DELETE) {
return 405;
}
proxy_pass http://localhost:8000;
}
Ejecutar goshs con privilegios mínimos
Nunca ejecutes goshs como usuario root. Cread y utilizad un usuario no privilegiado específico para este servicio. De este modo, incluso si un atacante logra borrar archivos, el daño potencial se verá limitado por los permisos del sistema de archivos de ese usuario.
- Verificad que la versión de goshs es 2.0.0-beta.3 o superior con el comando
goshs --version. - Realizad una prueba de concepto controlada (en un entorno aislado) intentando acceder a una ruta con
../para confirmar que el servidor responde con un error y no ejecuta la acción. - Consultad el advisory oficial en GitHub para cualquier actualización o información adicional: GHSA-6qcc-6q27-whp8.
Lecciones para desarrolladores y operadores de sistemas
La vulnerabilidad CVE-2026-35471 sirve como recordatorio crítico de la importancia de un manejo robusto de las rutas y una validación defensiva estricta. Para los desarrolladores que trabajen con Go u otros lenguajes, es imperativo:
- Utilizar funciones de sanitización de rutas de la biblioteca estándar (como
filepath.Clean()yfilepath.IsLocal()en Go). - Implementar una política clara de «fallo seguro» (fail-safe): cualquier verificación de seguridad fallida debe terminar la ejecución de la función de manera inmediata e inequívoca.
- Escribir y ejecutar tests unitarios que cubran explícitamente casos de path traversal.
Para los equipos de operaciones, este caso subraya la necesidad de mantener un inventario actualizado de software, sus versiones y sus dependencias, así como de suscribirse a fuentes de inteligencia de vulnerabilidades para actuar con la celeridad que requieren los fallos de severidad crítica.
Referencias y recursos oficiales
- NVD – CVE-2026-35471 — Base de datos nacional de vulnerabilidades (NIST)
- Referencia: github.com
Recursos y fuentes oficiales:
¿Tu organización está preparada ante las ciberamenazas?
En Iberia Intelligence combinamos Ciberinteligencia y Automatización con IA para anticipar amenazas, proteger activos digitales y blindar la operativa de empresas e instituciones hispanohablantes.