Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Fallo crítico en Ruby on Rails permite robo de secretos del servidor mediante imágenes maliciosas


Se ha detectado un fallo crítico en Ruby on Rails Active Storage (puntuación CVSS de 9.8) que permite a usuarios no autenticados subir imágenes manipuladas para escribir archivos en el servidor. Además, si se utiliza el servicio de disco, el atacante podría también leer archivos del servidor, facilitando el robo de secretos.





Un fallo crítico en Ruby on Rails Active Storage permite que un usuario no autenticado suba una imagen manipulada y obligue al servidor a escribir archivos. Si las subidas utilizan el servicio Disk, esa misma subida puede hacer que el servidor también lea archivos. El equipo de Rails calificó el error como Crítico, con una puntuación CVSS de 9.8, y publicó el aviso el 4 de noviembre de 2026. El fallo aún no tiene un ID de CVE.

El fallo proviene de cómo funciona ImageMagick. Este elige un codificador (un manejador de formato de archivo) basándose en lo que hay dentro de un archivo, no en su nombre. Algunos codificadores actúan sobre otros archivos nombrados dentro de la imagen.

Active Storage no limitaba ninguno de estos codificadores, y su analizador de imágenes se ejecuta tan pronto como se adjunta un archivo. Por lo tanto, un atacante solo necesita adjuntar una subida manipulada. No es necesario llamar a ninguna variante, vista previa o análisis.

Fallo Crítico de Ruby on Rails

Los archivos en riesgo suelen incluir secret_key_base y credenciales de sistemas externos. Con ellas, un atacante podría pasar a la ejecución remota de código o alcanzar otros servicios conectados. El equipo de Rails también afirma que se informó de una cadena de ataque, pero no asumen que sea la única. El investigador ryotak informó del error a través de HackerOne.

Una aplicación se ve afectada solo si se cumplen estas tres condiciones. Utiliza ImageMagick a través de config.active_storage.variant_processor = :mini_magick, que es el valor predeterminado para aplicaciones en load_defaults 6.1 o anteriores.

Ejecuta ImageMagick bajo una política que no bloquee ya los codificadores implicados, y las políticas empaquetadas por Debian y Ubuntu no lo hacen. Y acepta subidas de usuarios no confiables. Las versiones afectadas son activestorage antes de la 8.0.5.2, y las versiones 8.1 antes de la 8.1.4.1.

La solución incluye una política de seguridad de ImageMagick. Rails añade su carpeta a MAGICK_CONFIGURE_PATH a través de MiniMagick.cli_env, por lo que cada proceso de ImageMagick que inicia MiniMagick la sigue.

La política bloquea el codificador de scripting MSL, los codificadores que leen o eliminan otros archivos, los codificadores que obtienen referencias remotas o locales, todo codificador respaldado por Ghostscript y la indirección @filename. La política se añade a las reglas del host en lugar de reemplazarlas.

Este no es el primer susto relacionado con imágenes de Rails este año. Recientemente se cubrió el CVE-2026-66066, un fallo de Rails Active Storage que afectaba a aplicaciones que usaban libvips y podía exponer secretos como secret_key_base y claves de la nube. Los investigadores vieron más tarde que ese error fue usado en ataques reales. Los equipos que aplicaron el parche en el verano no deben asumir que están seguros ahora, porque este es un procesador diferente y una solución diferente.

ImageMagick también ha causado problemas fuera de Rails. Un error reciente de WordPress permitió que usuarios de nivel Autor lograran la ejecución de código porque ImageMagick pasó un archivo PostScript disfrazado a Ghostscript.

Un exploit separado del pipeline de imágenes de Discourse encadenó funciones de ImageMagick para leer archivos del servidor. La lección es la misma cada vez: las herramientas de imagen hacen más que abrir fotos, por lo que las subidas no confiables necesitan límites estrictos.

Primero, actualiza activestorage a la 8.0.5.2 o 8.1.4.1. Las aplicaciones que usan :mini_magick también necesitan mini_magick 5.1 o posterior, y las versiones anteriores fallarán con un error al arrancar. Las aplicaciones que renderizan PostScript o PDF a través de ImageMagick deben permitir nuevamente el delegado gs en el policy.xml del host.

Las aplicaciones que reemplazan MiniMagick.cli_env después del arranque, limpian el entorno con MiniMagick.cli_prefix, o usan su propio MiniMagick::Shell no reciben la política incluida. Deben copiar sus reglas en la política del sistema de ImageMagick. GraphicsMagick no lee en absoluto las políticas de ImageMagick.

Los equipos que no puedan actualizar inmediatamente pueden copiar las reglas incluidas en la política del sistema, por ejemplo en /etc/ImageMagick-7/policy.xml. Como mínimo, deberían bloquear el codificador MSL, los codificadores de Ghostscript y el delegado gs.

Los secretos también requieren atención. Si los adjuntos residen en el servicio Disk, cambia secret_key_base y cada secreto que el proceso de la aplicación pueda leer. Eso incluye la clave maestra, todo en config/credentials.yml.enc, las credenciales de almacenamiento y base de datos, y los tokens de terceros. El equipo de Rails advierte contra el mantenimiento de un secreto expuesto como respaldo.

Esta corrección es uno de los 21 problemas de seguridad en las versiones 8.0.5.2 y 8.1.4.1. Otros cubren una omisión de Strong Parameters, suplantación de IP a través de la cabecera Forwarded en 8.1, varios errores de cross-site scripting en Action View, errores de denegación de servicio y problemas con las cookies de sesión.

Un segundo error calificado como Alto cubre la lectura de archivos y la ejecución de código a través de las vistas previas y el análisis de video de Active Storage. El soporte de seguridad para la serie 8.0 termina el 7 de noviembre de 2026, por lo que los equipos en líneas más antiguas deberían planear un movimiento a la 8.0 o posterior.

Incluso con el parche, revisar las rutas de subida merece la pena. Deberías revisar los logs en busca de subidas extrañas y asegurarte de que ninguna aplicación se ejecute con permisos de archivo adicionales.



Fuentes:
https://cybersecuritynews.com/critical-ruby-on-rails-flaw/