CVE-2026-35471: qué sistemas afecta y cómo parchear

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.

📋 Ficha técnica

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
⚠️ ALERTA DE SEGURIDAD: Esta vulnerabilidad de severidad crítica (CVSS 9.8) permite a un atacante remoto eliminar archivos del sistema sin necesidad de credenciales. Aunque no se han reportado explotaciones activas, la facilidad de explotación hace imprescindible aplicar el parche de forma inmediata.

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 return tras 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.

Fragmento de código en lenguaje Go, el entorno de desarrollo donde reside el fallo en la función tdeleteFile().
Fragmento de código en lenguaje Go, el entorno de desarrollo donde reside el fallo en la función tdeleteFile(). — Foto: Peaky Frames vía Unsplash

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.

Panel de un firewall de red, representando las medidas de mitigación para restringir acceso al servicio vulnerable.
Panel de un firewall de red, representando las medidas de mitigación para restringir acceso al servicio vulnerable. — Foto: Jakub Żerdzicki vía Unsplash

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:

Proceso de actualización de software en un ordenador, mostrando la acción crítica de aplicar el parche.
Proceso de actualización de software en un ordenador, mostrando la acción crítica de aplicar el parche. — Foto: Herry Sucahya vía Unsplash
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).

Lista de verificación en un cuaderno junto a un portátil, simbolizando los pasos de auditoría post-parche.
Lista de verificación en un cuaderno junto a un portátil, simbolizando los pasos de auditoría post-parche. — Foto: Jakub Żerdzicki vía Unsplash
# 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.

✅ Lista de verificación post-parche:

  • 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() y filepath.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


¿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.

→ Conoce nuestros servicios y da el primer paso

Deja un comentario