Vulnerabilidad SSRF en LibreChat por falta de validación en baseURL
LibreChat es un clon mejorado de ChatGPT que ofrece soporte para múltiples proveedores de IA. Las versiones anteriores a 0.8.4-rc1 presentan una vulnerabilidad de tipo SSRF (Server-Side Request Forgery) que afecta a la funcionalidad de configuración de endpoints API compatibles con OpenAI.
Descripción técnica
LibreChat permite a sus usuarios configurar endpoints API personalizados compatibles con OpenAI mediante el establecimiento de un parámetro baseURL. Esta URL se utiliza internamente para construir solicitudes HTTP hacia el proveedor configurado. El problema crítico reside en que dicha construcción se realiza sin ningún mecanismo de validación SSRF:
- No se comprueba si la dirección IP de destino pertenece a rangos privados o reservados.
- No existe restricción sobre el esquema de la URL (por ejemplo,
file://,http://, etc.). - No se aplica ninguna técnica de DNS pinning para prevenir la resolución de nombres de dominio hacia direcciones internas.
Como consecuencia directa, un usuario autenticado puede establecer la baseURL apuntando a direcciones de red interna, logrando que el servidor de LibreChat emita solicitudes HTTP hacia infraestructura interna que normalmente no debería ser accesible desde el exterior.
Impacto
Esta vulnerabilidad permite a un atacante autenticado realizar solicitudes desde el servidor de LibreChat hacia recursos de la red interna, incluyendo servicios de metadatos de instancias en entornos cloud, bases de datos internas, paneles de administración u otros microservicios no expuestos públicamente. El vector de ataque requiere autenticación previa, lo que limita el perfil del atacante a usuarios con acceso legítimo a la plataforma, aunque en entornos con registro abierto o con cuentas comprometidas el riesgo se amplifica considerablemente.
Versiones afectadas y solución
Todas las versiones de LibreChat anteriores a 0.8.4-rc1 están afectadas. La vulnerabilidad ha sido corregida en la versión 0.8.4-rc1, que incorpora las validaciones necesarias sobre la baseURL antes de construir cualquier solicitud HTTP. Se recomienda actualizar a esta versión o superior de forma inmediata.
