20:40:10 阅读量:69

警惕 Ruby on Rails 关键漏洞 CVE-2026-66066:图片上传即可能导致服务器文件泄露

#Ruby on Rails #CVE-2026-66066 #文件读取漏洞 #应急响应 #Solar安全

事件背景与影响分析

近日,Ruby on Rails 官方发布安全预警,修复了一个代号为 CVE-2026-66066 的严重漏洞。该漏洞存在于 Active Storage 组件中,CVSS 评分高达 9.5。攻击者无需进行身份验证,仅通过构造特定的恶意图片上传,即可读取服务器上的任意文件。

从我们的应急响应经验来看,此类漏洞的危害极大,因为攻击者一旦获取到 Rails 进程环境中的敏感信息,例如 secret_key_base、数据库密码、云存储凭证或 API Token,往往能够进一步实现远程代码执行(RCE)或在内网环境中进行横向移动。鉴于该漏洞影响范围广泛,涵盖了 Rails 6.0 至 8.1 的多个版本,建议相关业务团队务必高度重视。

攻击链分析与技术手法

该漏洞的核心在于 Active Storage 与底层图像处理库 libvips 之间的信任边界缺失。在处理用户上传的图片时,Active Storage 未能有效过滤某些被标记为“不可信”或“未经过模糊测试”的加载器及操作指令,导致攻击者能够利用这些不安全的操作读取 Rails 工作进程权限范围内的敏感文件。

值得注意的是,这一环节是很多企业容易忽视的。许多开发者认为只要对上传文件后缀进行简单的校验即可,但该漏洞证明,即便是合法的图片格式,只要在后端处理过程中调用了 libvips 的危险接口,依然会触发漏洞。此外,受影响的应用并不需要专门提供图片缩放或缩略图功能,只要配置了使用 libvips 进行处理,便存在被攻击的风险。

适用版本与排查建议

根据官方及研究人员的披露,受影响的版本范围如下:

  • Rails 7.0.0 至 7.2.3.1
  • Rails 8.0.0 至 8.0.5
  • Rails 8.1.0 至 8.1.3
  • Rails 6.0.0 至 6.1.7.10(当 Active Storage 配置为使用 Vips 时)

如果您的应用使用的是 MiniMagick 处理图片,则不受此漏洞影响。针对受影响的应用,官方已发布修复版本(7.2.3.2, 8.0.5.1, 8.1.3.1),请及时升级。

Solar 应急响应团队的安全建议

在漏洞修复的同时,我们必须提醒广大运维人员:打补丁只是第一步。由于攻击者可能在修复前已经通过漏洞获取了相关凭证,因此在升级版本后,必须执行以下补丁后加固措施:

  1. 凭证轮换:立即重置 secret_key_base、主密钥(master key)、数据库凭证以及所有已泄露的第三方 API Token。
  2. 临时缓解:若无法立即升级,建议通过设置环境变量 VIPS_BLOCK_UNTRUSTED 或在代码中调用 Vips.block_untrusted(true) 来阻断危险操作。但这需要 libvips 版本达到 8.13 及以上。
  3. 持续监控:检查服务器日志中关于文件读取的异常记录,并重点关注 Active Storage 相关的请求异常。

类似攻击近年来明显增加,攻击者越来越倾向于利用底层依赖库的漏洞来实现对上层框架的穿透。企业应建立完善的软件物料清单(SBOM)管理机制,以便在漏洞发布时能第一时间定位受影响资产。

如果您想了解勒索病毒的最新发展趋势,或在实际业务中遇到类似安全事件,欢迎关注“Solar应急响应团队”。

全国热线:400-613-6816 官网:www.solarsecurity.cn / www.sierting.com