漏洞概述 | |||
漏洞名称 | 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。