CVE-2026-66066:Rails Active Storage 高危文件读取漏洞曝光,单靠升级Rails无法修复

事件概述

2026年8月1日披露并定名为 KindaRails2ShellCVE-2026-66066 漏洞在 Ruby on Rails Active Storage 组件中被发现,CVSSv4 评分达 9.5 分(Critical)。攻击者仅需上传一张特制图片即可在未认证条件下读取 Rails 工作进程可访问的任意文件。漏洞公告于 7 月 29 日发布,完整技术细节在 7 月 31 日提前 4 周披露,全球大量使用 libvips 作为图片后端的 Rails 应用直接暴露在远程未授权攻击面之下。

该漏洞与 Active Storage 默认配置高度耦合:libvips 是处理用户上传图片的常见后端,常用于公开注册、头像、商品图、附件等高频互联网入口。修补链依赖的 libvips 8.13 在许多生产部署中并未安装,导致即使升级了 Rails,应用可能仍无法启动,漏洞未真正闭合。

技术细节

受影响版本与补丁

  • Rails 7.0.x ~ 7.2.3.1:升级到 7.2.3.2
  • Rails 8.0.0 ~ 8.0.5:升级到 8.0.5.1
  • Rails 8.1.0 ~ 8.1.3:升级到 8.1.3.1
  • Rails 6.0 / 6.1:在使用 Vips 后端时受影响,已停止维护,无官方补丁
  • libvips:必须同步升级到 8.13 或更高,否则修补后的 Rails 拒绝启动

漏洞原理

Active Storage 将上传附件传递给图片分析器和转换器。当后端为 libvips 时,libvips 未对不安全操作进行拦截即开始处理文件。攻击者上传一张经过构造的恶意图像文件,可触发 libvips 的内部操作链,从而读取 Rails Worker 进程具有读权限的任意本地文件内容,包括 /etc/shadow、application.yml、数据库凭证、SSH 私钥等。

研究人员将该漏洞命名为 KindaRails2Shell,因为它在满足特定条件下可进一步升级为远程 shell 级别的控制。该漏洞具备以下特征:

  1. 无前置认证:上传端点通常对未登录用户开放
  2. 网络可达:默认在公开 Web 服务端口暴露
  3. 无需用户交互:上传即触发
  4. 配置依赖:仅在使用 libvips 后端的部署中可利用

PoC 与披露节奏

披露方为研究机构 RECATOOLS,原计划完整技术细节在补丁广泛推送后再公开,但因攻击态势升级,于 7 月 31 日(补丁发布后 2 天)提前发布完整 PoC 与原理分析。开发者应假设 PoC 已在公开渠道扩散。

影响评估

CVSSv4 基础分 9.5(Critical),向量 AV:N/AC:L/PR:N/UI:N。Rails 6.x 至 8.x 三大主流分支均受影响,覆盖 2014 年以来 12 年版本线。该漏洞对电商 SaaS、内容平台、社交网络、企业内部门户等常见 Web 应用均为高风险。攻击者利用文件读取可获取数据库凭证、云 API 密钥、KMS 加密密钥与 SSH 私钥,进而触发横向移动、数据窃取与持久化。

修复建议

立即行动

  • 升级 Rails:升级到对应分支最新修复版本(7.2.3.2 / 8.0.5.1 / 8.1.3.1)
  • 同步升级 libvips:将系统 libvips 升级到 8.13+(Ubuntu 22.04 使用 jammy-backports,Debian 12 升级自带版本)
  • 验证启动:修补后的 Rails 在 libvips 版本不足时会启动失败,需立即回滚或继续升级
  • 轮换凭证:假设攻击者已读取 credentials.yml.encdatabase.ymlsecrets.yml 与所有 Rails 进程可读的私钥,立即轮换数据库密码、AWS/GCP/Azure API Key、SSH 密钥、JWT 签名密钥

缓解与检测

  • 在 Active Storage 配置中临时切回 :mini_magick 后端,规避 libvips 触发路径
  • 在 WAF/CDN 临时拦截 Active Storage 上传端点的异常 POST 请求
  • 监控 Rails 应用日志中异常的 vips 操作记录与 libvips 内部错误
  • 检查 attachments 表近 30 天新增元数据,过滤可疑 SVG、JXL、HEIC 等冷门格式

长期加固

  • 为图片处理任务启用独立的低权限 worker,缩小凭证爆炸半径
  • 将 secret 管理迁出文件系统,全部托管于 Vault / SSM / KMS 内存读取
  • 订阅 Rails 安全公告列表,第一时间获取补丁通知

参考来源