Volver al Blog
Ciberseguridad 2 de agosto de 2026 5 min read

Fallo crítico en Rails (CVE-2026-66066) permite a atacantes no autenticados leer archivos del servidor mediante subidas de imágenes

Una vulnerabilidad con CVSS 9,5 en Active Storage de Rails permite explotar el procesamiento de imágenes de libvips para leer archivos arbitrarios, incluido secret_key_base. Ya hay parches para las ramas 7.2, 8.0 y 8.1.

Fallo crítico en Rails (CVE-2026-66066) permite a atacantes no autenticados leer archivos del servidor mediante subidas de imágenes

El equipo de seguridad de Rails divulgó el 29 de julio CVE-2026-66066, un fallo crítico en Active Storage que permite a un atacante no autenticado leer archivos arbitrarios del servidor con solo subir una imagen. Tiene una puntuación CVSSv4 de 9,5, y los investigadores ya la apodaron KindaRails2Shell por lo directo que es el camino hacia la ejecución remota de código.

La causa raíz es una configuración por defecto que Rails nunca debió enviar: Active Storage entrega las subidas no confiables directamente a la librería de procesamiento de imágenes libvips sin desactivar sus cargadores “unfuzzed” —decodificadores que confían más de lo debido en las cabeceras de archivo. Un atacante sube una imagen manipulada, dispara la generación de variantes (el paso de redimensionado/recorte que Active Storage ejecuta automáticamente), y libvips lee cualquier ruta de archivo que el payload le indique. Clasificado como CWE-1188, Inicialización de un Recurso con una Configuración Insegura por Defecto, esto es lectura arbitraria de archivos sin autenticación y sin interacción del usuario más allá de una subida normal.

La lectura arbitraria de archivos en un servidor Rails no es un bug contenido: es una llave maestra. El entorno del proceso en la mayoría de despliegues de Rails guarda secret_key_base, credenciales de base de datos y tokens de API de cada servicio conectado. Leer el entorno permite forjar cookies de sesión, descifrar columnas cifradas o saltar directamente a cualquier almacenamiento en la nube y API de terceros con las que hable la app. Rapid7 y HeroDevs señalan un camino realista desde esta lectura de archivos hasta RCE completo una vez obtenidos los secretos.

Versiones afectadas: Rails 7.0.0 a 7.2.3.1, 8.0.0 a 8.0.5, y 8.1.0 a 8.1.3. Si tu app usa Active Storage con libvips como procesador de variantes de imagen —la opción por defecto en la mayoría de apps Rails construidas desde Rails 7— estás expuesto.

Qué hacer ahora: Actualiza de inmediato a Rails 7.2.3.2, 8.0.5.1 u 8.1.3.1 según tu rama, y confirma que tu instalación de libvips sea la 8.13 o superior —las versiones parcheadas de Rails por sí solas no bastan sin un libvips actualizado. Tras parchear, rota todos los secretos que el proceso de la aplicación pueda leer: secret_key_base, contraseñas de base de datos y cualquier clave de API tomada de variables de entorno. Asume que hubo compromiso antes de que existiera el parche, especialmente si tu app acepta subidas de imágenes públicas sin autenticación estricta delante.

Los mantenedores de Rails dicen que los detalles técnicos completos llegarán no más tarde del 28 de agosto, dando a los equipos un margen deliberado para parchear antes de que la cadena de explotación completa se haga pública. Esa ventana es la clave: parchea ahora, no cuando se publique el análisis y esto se convierta en un kit de exploit de uso masivo.

Fuentes

Ruby on Rails CVE-2026-66066 Active Storage vulnerabilidad