Alerta de seguridad
Nivel de peligrosidad: Alto
Descripción
El fallo ocurre en el manejo de eventos vite:invoke vía WebSockets. Un atacante puede forzar la ejecución de fetchModule usando el esquema file://.
Debido a una validación insuficiente del origen de la conexión, el servidor sirve el contenido de archivos locales procesándolos como módulos, exponiendo datos sensibles directamente en la respuesta del socket.
Recursos afectados
- Versiones: Vite 6.0.0 hasta versiones previas a 6.4.2, 7.3.2 y 8.0.5.
- Condición: Servidores de desarrollo expuestos a la red (--host) con WebSockets activos.
Solución/Mitigación
- Actualización: Instalar versiones parcheadas: ^6.4.2, ^7.3.2 o ^8.0.5.
- Mitigación temporal: Si no puede actualizar, desactive el acceso externo eliminando el flag --host o deshabilitando WebSockets mediante la configuración server.ws: false.
Indicadores de compromiso
- Logs con conexiones WebSocket sin encabezado Origin.
- Tráfico de red hacia el servidor de desarrollo con payloads que contienen la cadena "vite:invoke" y "fetchModule".
- Registros de acceso a archivos confidenciales (ej. .env) vía file:///.
Recomendaciones
- Limitar el Scope: Mantener el servidor de desarrollo vinculado únicamente a 127.0.0.1.
- Auditoría de Dependencias: Ejecutar npm update vite de forma inmediata en proyectos frontend.
- Aislamiento: No utilizar entornos de desarrollo para procesar datos reales o sensibles en redes no confiables.