Una falla crítica en Rails podría permitir que atacantes no autenticados lean archivos del servidor mediante la carga de imágenes

Swati Khandelwal29 de julio de 2026Vulnerabilidad/Seguridad del software

Ruby on Rails ha publicado correcciones para una vulnerabilidad crítica de Active Storage que podría permitir a atacantes no autenticados leer archivos arbitrarios de servidores de aplicaciones mediante cargas de imágenes manipuladas.

Seguimiento como CVE-2026-66066 (Puntuación CVSS: 9,5), la falla puede exponer el entorno del proceso Rails y secretos como secret_key_basela clave maestra de Rails, las contraseñas de la base de datos, las credenciales de almacenamiento en la nube y los tokens API. Esos secretos pueden permitir la ejecución remota de código (RCE) o el movimiento lateral hacia sistemas conectados.

Las aplicaciones afectadas utilizan libvips para el procesamiento de imágenes de Active Storage y aceptan cargas de imágenes de usuarios que no son de confianza. Rails selecciona Vips en load_defaults 7.0y los valores predeterminados posteriores lo conservan.

Ethiack y GMO Flatt Security enumeran los rangos afectados como Rails 7.0.0 a 7.2.3.1, Rails 8.0.0 a 8.0.5 y Rails 8.1.0 a 8.1.3. Las versiones Rails 6.0.0 a 6.1.7.10 se ven afectadas solo cuando Active Storage está configurado para usar Vips, que no era el procesador predeterminado en Rails 6.

El aviso oficial enumera una gama de paquetes más amplia: activestorage < 7.2.3.2. Ambos equipos de investigación ubican la ruta práctica de ataque Vips en Rails 6.0 y posteriores. Las aplicaciones que utilizan MiniMagick no quedan expuestas a través de esta ruta de ataque específica. Rails 7.0 y 7.1 están al final de su vida útil y no tienen versiones fijas, por lo que las aplicaciones en esas ramas deben actualizarse a Rails 7.2.3.2 o posterior.

Ciberseguridad

Los operadores deben actualizar a Rails 7.2.3.2, 8.0.5.1 u 8.1.3.1 y rotar todos los secretos legibles mediante el proceso de solicitud. Las instalaciones parcheadas requieren libvips 8.13 o posterior y, cuando está instalado ruby-vips, ruby-vips 2.2.1 o posterior.

Ninguno de los equipos de investigación había publicado una prueba de concepto (PoC) a las 17:30 UTC del 29 de julio de 2026. Las búsquedas de términos exactos realizadas por The Hacker News no encontraron ningún repositorio de exploits en los resultados indexados de GitHub, GitLab, Exploit-DB o Packet Storm al mismo tiempo. Rails advirtió que la aplicación del parche no invalida las credenciales que ya hayan sido robadas.

La falla se encuentra en el límite de confianza entre Active Storage y libvips. El Aviso de seguridad de rieles dice que libvips admite cargadores, protectores y otras operaciones, algunas respaldadas por bibliotecas de terceros y marcadas como «no fuzzed» o «no confiables» porque no son seguras para entradas hostiles. Active Storage no los bloqueó, lo que permitió que una carga manipulada invocara uno y revelara archivos legibles por el trabajador de Rails.

Una aplicación vulnerable no necesita exponer una operación de cambio de tamaño o miniatura dedicada. «Generar variantes no es un requisito separado», dijo Rails. El parche público También muestra que tanto el analizador Vips como el transformador pasaron archivos adjuntos no confiables a las operaciones inseguras.

Una solicitud exitosa le da al atacante una primitiva de lectura de archivos arbitraria. La ejecución del código o el movimiento lateral dependería de lo que extraiga el atacante y de lo que esas credenciales puedan alcanzar. Rails les dice a los operadores que giren secret_key_basela clave maestra y las credenciales descifradas, las credenciales de la base de datos, las claves del servicio Active Storage y los tokens de terceros.

El parche llama Vips.block_untrusted(true) cuando se inicia el almacenamiento activo. Las aplicaciones que no pueden actualizar Rails inmediatamente pueden establecer VIPS_BLOCK_UNTRUSTED cuando ejecute libvips 8.13 o posterior, o llame Vips.block_untrusted(true) con ruby-vips 2.2.1 o posterior. Rails dice que las versiones anteriores de libvips no pueden bloquear estas operaciones, por lo que las aplicaciones deben actualizar libvips o eliminarlo de la aplicación.

Ciberseguridad

Rails dio crédito a André Baptista, Bruno Mendes y Rafael Castilho de ethiaky RyotaK de Seguridad plana de OGMcon informar el problema de forma independiente. Los investigadores no han revelado el formato malicioso, la construcción de lectura de archivos ni la cadena RCE. Rails dijo que se publicarán más detalles técnicos a más tardar el 28 de agosto de 2026.

Hacker News se ha puesto en contacto con el equipo de seguridad de Rails sobre la explotación y las versiones afectadas, y con Ethiack sobre la cadena de ataque.

Ni Rails ni los investigadores informaron sobre explotación salvaje en el momento de la publicación. Una revisión realizada por The Hacker News a las 17:30 UTC del 29 de julio encontró que CVE-2026-66066 no figuraba en la versión 2026.07.27 de CISA Catálogo de vulnerabilidades explotadas conocidas.

No se dispone de un recuento fiable de aplicaciones vulnerables ni de víctimas nombradas. La puntuación de 9,5 describe la gravedad según CVSS, no cuántas implementaciones están expuestas: una implementación vulnerable también debe usar Vips, aceptar cargas de imágenes que no sean de confianza e incluir una operación explotable en su compilación libvips.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *