Rails corrige una vulnerabilidad crítica en Active Storage que permite leer archivos y ejecutar código remoto
El equipo de mantenimiento de Ruby on Rails ha publicado un aviso de seguridad para una vulnerabilidad de severidad crítica en Active Storage, el componente del framework encargado de gestionar las subidas de archivos y adjuntos. La falla, registrada como CVE-2026-66066, permite a un atacante no autenticado leer archivos arbitrarios del servidor y, en ciertas condiciones, escalar el ataque hasta lograr ejecución remota de código (RCE). La amenaza ha sido bautizada por la firma de seguridad Akamai como «KindaRails2Shell».
Qué permite exactamente el fallo
Active Storage utiliza bibliotecas de procesamiento de imágenes como libvips o ImageMagick para generar miniaturas de los archivos multimedia subidos por los usuarios. Según el boletín de seguridad publicado por el equipo de Rails, la vulnerabilidad es explotable cuando la aplicación usa libvips: un atacante puede subir una imagen manipulada de forma especial que le permita leer archivos arbitrarios del servidor donde se ejecuta la aplicación.
El requisito previo es que la aplicación permita la subida de imágenes por parte de usuarios no confiables, algo habitual en foros, redes sociales, sistemas de tickets o cualquier plataforma con perfiles de usuario. Si se cumplen estas condiciones, el atacante puede acceder al contenido del proceso de la aplicación, incluido el entorno de ejecución, que normalmente contiene la variable «secret_key_base», además de credenciales de bases de datos, servicios cloud y otras herramientas internas.
Versiones afectadas y alcance real
La vulnerabilidad afecta a Active Storage en versiones anteriores a la 7.2.3.2, a las versiones 8.0.x anteriores a la 8.0.5.1 y a las 8.1.x anteriores a la 8.1.3.1. En el caso de Rails 6.x, solo se ve afectado si Active Storage ha sido configurado fuera de sus valores por defecto.
El alcance es amplio: libvips es el procesador de imágenes predeterminado en las imágenes oficiales de Docker para Rails, así como en las instalaciones de Debian y Ubuntu. Los usuarios de ImageMagick no se ven afectados por este vector concreto. Ante esta situación, el equipo de Rails recomienda actualizar a libvips 8.13 o posterior y rotar inmediatamente el «secret_key_base» —la clave maestra de la aplicación—, así como las credenciales de las bases de datos, las credenciales del servicio de Active Storage y cualquier otro secreto accesible desde el proceso de la aplicación.
Para los sistemas que ya ejecutan libvips 8.13 o una versión superior, existe una mitigación temporal: desactivar la funcionalidad vulnerable estableciendo la variable de entorno VIPS_BLOCK_UNTRUSTED o llamando a Vips.block_untrusted(true) cuando se utiliza ruby-vips 2.2.1 o más reciente. Las aplicaciones que usan versiones de libvips anteriores a la 8.13 no disponen de ninguna solución alternativa más allá de actualizar.
De la lectura de archivos a la ejecución de código
Aunque la lectura arbitraria de archivos ya es grave por sí sola, el verdadero peligro llega cuando el atacante obtiene el «secret_key_base». Como explica Akamai, con esa clave maestra comprometida, el atacante puede falsificar cookies de sesión, firmar Global IDs y manipular datos serializados, lo que se traduce directamente en ejecución remota de código en el servidor subyacente. En la práctica, una aplicación vulnerable puede terminar completamente comprometida.
El equipo de Rails había decidido retener inicialmente los detalles técnicos de la vulnerabilidad para reducir el riesgo de explotación antes de que los administradores pudieran aplicar los parches, con una divulgación completa prevista para el 28 de agosto. Sin embargo, la rápida aparición de pruebas de concepto (PoC) públicas obligó a los responsables a adelantar la publicación de los detalles completos, junto con herramientas forenses para investigar posibles compromisos.
Carrera contra los atacantes automatizados
La vulnerabilidad fue descubierta y notificada de forma responsable al equipo de Rails por investigadores de Ethiack y GMO Flatt Security Inc. Akamai coordinó con Ethiack antes de la divulgación pública para preparar protecciones para sus clientes y ya ha lanzado reglas para sus firewalls de aplicaciones web (WAF).
No obstante, los propios investigadores advierten de que un WAF solo compra tiempo. Los atacantes que utilizan herramientas basadas en inteligencia artificial deberían ser capaces de reconstruir la cadena de ataque a partir de los diffs del parche, por lo que la ventana de protección es limitada. La lección para los equipos de desarrollo es clara: actualizar las dependencias de procesamiento de imágenes, rotar las claves maestras cuanto antes y tratar cualquier subida de archivos de usuarios no confiables como una superficie de ataque de alto riesgo.






