¿Qué es la vulnerabilidad CVE-2026-117518 en Fastify?
CVE-2026-117518 es una vulnerabilidad de alta gravedad detectada en el plugin @fastify/reply-from, diseñado para reenviar peticiones HTTP a un servidor upstream dentro del framework Fastify. Analizando avisos anteriores en otros entornos, este fallo de seguridad recibió una puntuación CVSS de 8.2 debido a problemas derivados de una validación de rutas deficiente.
El origen del problema radica en que las versiones hasta la 12.8.0 del plugin validaban las rutas del proxy únicamente buscando segmentos de puntos acompañados de barras diagonales normales. Al construir el destino final mediante el analizador WHATWG URL, este último interpreta las barras invertidas (backslashes) y sus formas codificadas como barras normales en esquemas web comunes.
¿A quién afecta este fallo de recorrido de directorios?
El fallo afecta directamente a cualquier aplicación que utilice versiones de @fastify/reply-from iguales o inferiores a la 12.8.0 y que limite el reenvío a un prefijo upstream específico o confíe en mecanismos de control de acceso previos. Al igual que otras brechas analizadas, esto deja expuestos servicios internos que deberían estar protegidos.
Mediante el uso de segmentos con barras invertidas y puntos, una petición maliciosa puede eludir la comprobación de recorrido de directorios y resolver una ruta upstream diferente. El impacto principal recae sobre la confidencialidad al permitir accesos no autenticados a recursos no intencionados.
¿Cómo me protejo y aplico la mitigación?
La incidencia ha sido solucionada oficialmente en la versión 12.8.1 del paquete, donde se implementó una normalización estricta que rechaza cualquier segmento que resuelva a uno o dos puntos, caracteres de control y espacios ambiguos antes de ensamblar la URL. No se conoce ninguna solución alternativa que no pase por la actualización.
Para asegurar sus servidores y aplicar la mitigación recomendada, siga los siguientes pasos de actualización:
- Compruebe el archivo package.json o lockfile para identificar si utiliza @fastify/reply-from en la versión 12.8.0 o anterior.
- Actualice el paquete a la versión corregida ejecutando el comando de instalación correspondiente.
- Verifique que su aplicación rechaza correctamente las rutas manipuladas con barras invertidas antes de conectar con el servidor upstream.