漏洞概述

漏洞名称

Ruby on Rails 远程代码执行漏洞

漏洞编号

QVD-2026-47432,CVE-2026-66066

公开时间

2026-07-29

影响量级

十万级

奇安信评级

高危

CVSS 3.1分数

9.8

威胁类型

代码执行、信息泄露

利用可能性

POC状态

已公开

在野利用状态

未发现

EXP状态

已公开

技术细节状态

已公开

危害描述:攻击者可构造恶意 HDF5 文件,利用其外部存储特性读取容器内敏感文件,提取 SECRET_KEY_BASE 密钥。随后使用该密钥签名绕过签名验证,触发反序列化执行任意系统命令。

01

漏洞详情

>>>>

影响组件

Ruby on Rails 是一个基于 Ruby 语言的开源 Web 应用框架。Active Storage 是 Rails 5.2 引入的官方文件上传和管理组件,在 Rails 社区中占据主导地位,被广泛应用于用户头像上传、产品图片管理、文档附件处理、社交媒体内容、电商平台以及 SaaS 多媒体服务等核心生产场景,是 Rails 应用处理用户生成内容的标准组件,被成千上万的生产环境应用所依赖。

>>>>

漏洞描述

近日,奇安信CERT监测到官方修复Ruby on Rails 远程代码执行漏洞(CVE-2026-66066),该漏洞源于 Rails Active Storage 使用 libvips 处理图像时,未对 MATLAB/HDF5 格式文件的外部存储引用进行安全限制。攻击者可构造恶意 HDF5 文件,利用其外部存储特性读取容器内敏感文件(如 /proc/1/environ),提取 SECRET_KEY_BASE 密钥。随后使用该密钥签名包含 MiniMagick::Tool 对象的恶意 Marshal payload,绕过签名验证,触发反序列化执行任意系统命令。目前该漏洞PoC和技术细节已公开。鉴于该漏洞影响范围较大,建议客户尽快做好自查及防护。

>>>>

利用条件

1.Active Storage 配置: 必须使用 :vips 处理器;

2.libvips MATLAB 支持: libvips 必须编译时包含 MATLAB 格式支持;

3.通过文件读取获取 SECRET_KEY_BASE 可读。

02

影响范围

>>>>

影响版本

Ruby on Rails Active Storage < 7.2.3.2

8.0 <= Ruby on Rails Active Storage < 8.0.5.1

8.1 <= Ruby on Rails Active Storage < 8.1.3.1

注意:Rails 6.0.0 至 6.1.7.10 版本仅在 Active Storage 配置与默认设置不符的情况下才会受到影响,因此正常的 6.x 版本安装不会受到此漏洞的影响。

03

复现情况

目前,奇安信威胁情报中心安全研究员已成功复现Ruby on Rails 远程代码执行漏洞(CVE-2026-66066),截图如下:

04

处置建议

>>>>

安全更新

官方已发布安全补丁,请及时更新至最新版本:

Ruby on Rails Active Storage >= 7.2.3.2

Ruby on Rails Active Storage 8.0 >= 8.0.5.1

Ruby on Rails Active Storage 8.1 >= 8.1.3.1

下载地址:

https://github.com/rails/rails/releases/tag/v8.1.3.1

临时缓解措施:

在 libvips 8.13 及更高版本中,设置 VIPS_BLOCK_UNTRUSTED 环境变量可以阻止此漏洞的利用。

05

参考资料

[1]https://github.com/rails/rails/security/advisories/GHSA-xr9x-r78c-5hrm

[2]https://ethiack.com/info-hub/research/kindarails2shell-rails-rce-cve-2026-66066

声明:本文来自奇安信 CERT,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。