Productos FTTH

Tienda FFTH desde 2004

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 Rails permite leer archivos y ejecutar código remotamente


Se ha detectado una vulnerabilidad crítica de seguridad en Ruby on Rails Active Storage (CVE-2026-66066). Este fallo permite que atacantes no autenticados lean archivos sensibles del servidor y, potencialmente, logren la ejecución remota de código. El problema afecta específicamente a aplicaciones que utilizan libvips para procesar variantes de imágenes y aceptan subidas de usuarios no confiables, poniendo en riesgo datos confidenciales como credenciales en la nube y la secret_key_base.




Una vulnerabilidad de seguridad grave en Ruby on Rails Active Storage, identificada como CVE-2026-66066, puede permitir que atacantes no autenticados lean archivos sensibles de un servidor y, potencialmente, escalen hasta la ejecución remota de código.

El problema afecta a las aplicaciones que utilizan libvips para el procesamiento de variantes de imágenes y que aceptan la subida de imágenes de usuarios no fiables, poniendo en riesgo secretos como secret_key_base, credenciales de la nube y contraseñas de bases de datos si no se aplica el parche.

En una configuración predeterminada de Rails que muestra variantes de imágenes, un atacante que suba un archivo manipulado y active la generación de variantes puede abusar de la forma en que libvips maneja ciertos formatos de archivo.

Libvips procesa formatos a través de cargadores y guardadores respaldados por librerías de terceros, y marca algunas de esas operaciones como “unfuzzed”, lo que significa que no son seguras para contenido no fiable.

Vulnerabilidad Crítica de Ejecución de Código en Rails

Varias de esas operaciones también manejan formatos que no están relacionados con las imágenes web típicas. Active Storage no desactivó estas operaciones "unfuzzed", por lo que una subida maliciosa podría invocar una de ellas.

Los investigadores han demostrado una cadena que revela el contenido de archivos arbitrarios accesibles para el proceso de la aplicación. Esto a menudo incluye el entorno del proceso, donde suelen residir secret_key_base y las credenciales de sistemas externos, abriendo un camino hacia la ejecución remota de código o el movimiento lateral hacia servicios conectados.

Tu aplicación se ve afectada cuando utiliza libvips para el procesamiento de imágenes de Active Storage, normalmente a través de config.active_storage.variant_processor = :vips (el valor predeterminado desde los defaults de carga de Rails 7.0) y permite que usuarios no fiables suban imágenes. La generación de variantes no es un requisito separado para la exposición.

Los rangos de paquetes vulnerables incluyen versiones de activestorage inferiores a 7.2.3.2, 8.0.x inferiores a 8.0.5.1 y 8.1.x inferiores a 8.1.3.1. Las versiones corregidas están disponibles a través de los canales habituales de distribución de Rails.

La versión mínima compatible de libvips para una configuración segura es la 8.13 o posterior. Las versiones anteriores de libvips no pueden desactivar las operaciones "unfuzzed" en absoluto, y Active Storage lanzará una excepción durante el arranque en ese entorno no asegurable.

Debes actualizar activestorage a una versión corregida y asegurarte de que libvips sea al menos la 8.13. El parche detiene nuevas explotaciones, pero no anula los secretos que ya podrían haber sido robados. Cada secreto legible por el proceso de la aplicación debe tratarse como potencialmente expuesto y ser rotado.

Esto incluye secret_key_base, la clave maestra de config/master.key o RAILS_MASTER_KEY y todo lo descifrado de config/credentials.yml.enc, claves de servicio de Active Storage para S3, GCS o Azure, credenciales de base de datos y tokens para APIs de terceros.

Cambiar secret_key_base hace que caduquen las sesiones activas y obliga a los usuarios a iniciar sesión de nuevo; las cookies cifradas, las cookies firmadas, los IDs globales firmados y las URLs de Active Storage también se ven afectados. La rotación solo debe ser temporal si es necesario; no mantengas un secreto expuesto como respaldo.

En los casos donde no sea posible una actualización inmediata de Rails, existen soluciones temporales limitadas. Con libvips 8.13 o posterior, configurar la variable de entorno VIPS_BLOCK_UNTRUSTED bloquea las operaciones no fiables en la inicialización de libvips. Las aplicaciones que utilicen ruby-vips 2.2.1 o posterior pueden, en su lugar, llamar a Vips.block_untrusted(true) desde un inicializador.

En versiones de libvips anteriores a la 8.13, no hay ninguna solución segura aparte de eliminar la dependencia de libvips, por ejemplo, quitando ruby-vips del Gemfile cuando solo se use para análisis de imágenes o cuando Active Storage no esté en uso.

Los detalles técnicos de la cadena de ataque se han omitido intencionadamente para que los operadores puedan centrarse en actualizar sin dar a los atacantes un manual ya hecho. La divulgación completa está prevista para el 28 de agosto de 2026, a más tardar, a través del foro de Anuncios de Seguridad de Rails.

El problema fue reportado responsablemente por 0xacb, s3np41k1r1t0 y castilho de Ethiack, y por RyotaK de GMO Flatt Security Inc. Si gestionas organizaciones que ejecutan Rails con Active Storage y libvips, debes priorizar el parcheo, la rotación de secretos y la verificación de que las operaciones "unfuzzed" estén bloqueadas antes de volver a aceptar subidas de archivos no fiables.



Fuentes:
https://cybersecuritynews.com/critical-rails-vulnerability/

0 comments :

Post a Comment

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.