KindaRails2Shell - Rails 通过 Active Storage 的严重远程代码执行漏洞 (CVE-2026-66066)

Lobsters Hottest 新闻

摘要

在 Ruby on Rails 的 Active Storage 中使用默认 Vips 图像处理器时发现了一个严重远程代码执行漏洞 (CVE-2026-66066),影响 Rails 7.x 和 8.x 的默认配置。已发布补丁,建议立即升级。

<p><a href="https://lobste.rs/s/kkobew/kindarails2shell_critical_rce_rails_via">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/07/30 15:52

# KindaRails2Shell — Rails 中通过 Active Storage 的严重 RCE 漏洞 (CVE-2026-66066) | Ethiack — 持续安全的自主道德黑客 Ruby on Rails 支撑着现代网络的重要部分,而 Active Storage(Rails 内置的文件附件和图像处理框架)在大量生产应用中默认启用。 在这些组件中发现了一个严重漏洞,可能导致远程代码执行 (RCE)。更多信息请查看 Ruby on Rails 官方安全公告:https://github.com/rails/rails/security/advisories/GHSA-xr9x-r78c-5hrm 该漏洞最初由 Ethiack (https://ethiack.com/) 研究团队的 André Baptista (0xacb, https://x.com/0xacb)、Bruno Mendes (S3np41k1r1t0, https://x.com/s3np41k1r1t0) 和 Rafael Castilho (Castilho, https://x.com/castilho101) 独立发现并报告,几天后 GMO Flatt Security (https://flatt.tech/en/) 研究团队的 RyotaK (https://x.com/ryotkak) 也报告了该漏洞。随后我们合作协调了披露和修复工作。 ## 摘要 - Active Storage + 默认的 vips 处理器是必要的,但仅此还不够。如果你的应用还接受来自不可信用户的图像上传,并且运行在默认的 Rails 7.x/8.x 上,则你会受到影响;对于 6.x,仅当你自定义了 Active Storage 并接受不可信图像上传时才会受到影响。 - 我们目前不会提供 PoC 或技术链细节,但可以假设一旦补丁发布且差异公开,使用 AI 工具的攻击者能够快速重建攻击链,所以不要等待升级。 - 仅修补 Rails 是不够的,如果你的 libvips 版本低于 8.13,还需要单独升级。 - WAF 可能在特定设置下为你争取一些时间,但它不是修复方案。 ## 引言 受 wp2shell (https://slcyber.io/research-center/wp2shell-pre-authentication-rce-in-wordpress-core/) 的启发,我们的研究团队跟进了一些先前的线索,发现了一条影响默认 Rails 应用的任意文件读取和远程代码执行链,这些应用使用了带 vips 图像处理器的 Active Storage(vips 是官方 Rails Docker 镜像以及 Debian/Ubuntu 上默认提供的处理器)。 我们将其命名为 **KindaRails2Shell**,因为我们找到了一个 rails2shell... 有点像。有几个必要条件:有些是默认行为,有些只是非常常见的配置,并且在某些场景下根本不需要认证。本文旨在提供该漏洞的初步概述以及如何缓解它。 ## 受影响版本 Rails 6.0.0 至 6.1.7.10 可能仅在 Active Storage 的配置偏离默认设置时才受影响,因此正常的 6.x 安装不会暴露于该漏洞。Rails 7.0.0 至 7.2.3.1 和 8.0.0 至 8.1.3 则无需该条件。 | 受影响版本 | 修复版本 | 备注 | |------------|----------|------| | 6.0.0 - 6.1.7.10 | 7.2.3.2 | 需要非默认配置 | | 7.0.0 - 7.2.3.1 | 7.2.3.2 | 默认配置受影响 | | 8.0.0 - 8.0.5 | 8.0.5.1 | 默认配置受影响 | | 8.1.0 - 8.1.3 | 8.1.3.1 | 默认配置受影响 | 只有 Vips 图像处理器受影响。使用 Magick 的应用不受此攻击向量的影响。 应用只有在满足以下所有条件时才受影响: - 使用 libvips 进行 Active Storage 图像处理 - 通过功能或直接上传接受来自不可信用户的图像上传 - 运行的 libvips 构建链接了某些第三方库 请注意,任何接受图像上传并在后续提供处理版本(头像、缩略图、个人资料图片)的用户面向功能也可能受此漏洞影响。多个使用 Ruby on Rails 的项目和第三方软件也可能受影响。 ## 影响 - **任意文件读取**,以运行 worker 或进程的用户身份 - **远程代码执行**以及向其他系统的横向移动 目前我们暂时保留关于该攻击链的更多技术细节,以便用户有更多时间打补丁。 ## 修复措施 升级是真正重要的修复手段:升级到 Rails 7.2.3.2、8.0.5.1 或 8.1.3.1(或更高版本)。如果你使用的是受影响版本,请尽快打补丁,无论你的具体配置如何,这一点都成立。 请注意,该修复依赖于 libvips 本身版本为 8.13 或更高;更早的 libvips 构建无法禁用所涉及的不安全操作,在这种情况下 Active Storage 会在启动时抛出异常。如果你的 libvips 版本低于 8.13,仅升级 Active Storage 是不够的,你还需要升级 libvips,或者如果应用仅用于图像分析,则移除该依赖。 WAF 在某些部署中可能有帮助,但其有效性很大程度上取决于你的应用存储 Active Storage 文件的位置以及上传如何到达它。不要将其视为补丁。 如果你无法立即升级,还有一个临时措施:在 libvips 8.13+ 上,设置 VIPS_BLOCK_UNTRUSTED 环境变量将阻止该漏洞的利用。如果你使用的是 ruby-vips 2.2.1 或更新版本,从初始化器中调用 `Vips.block_untrusted(true)` 也能防止此漏洞。 ## 披露时间线 我们目前暂不公布技术细节、PoC 和 RCE 细节,以便用户有合理的时间打补丁。我们正在与受影响的上游项目协调,一旦补丁广泛可用并应用,将会发布详细分析文章。 ## 致谢 感谢 GMO Flatt Security (https://flatt.tech/en/) 的 RyotaK (https://x.com/ryotkak) 的独立发现以及在此次披露中的密切合作(你也可以在这里查看他们的文章:https://blog.flatt.tech/entry/kindarails2shell_rails),以及 Rails 维护者,特别是 Mike Dalessio (flavorjones, https://github.com/flavorjones),还有 Libvips 维护者,感谢他们的帮助和快速响应,使修复得以发布。

相似文章

Ivanti Sentry 预认证 RCE (CVE-2026-10520) – CVSS 10.0,公开 PoC,CISA KEV

Hacker News Top

Ivanti Sentry 中存在一个最高严重性的未授权操作系统命令注入漏洞(CVE-2026-10520,CVSS 10.0),目前已遭主动利用,公开 PoC 已发布,且 CISA KEV 已将其列入,要求 3 天内完成修复。本文详细介绍了如何在网络上识别暴露的 Ivanti Sentry 实例。

Anthropic Claude Code 泄露揭示严重命令注入漏洞

Lobsters Hottest

在 Anthropic 的 Claude Code CLI 和 SDK 中发现了严重命令注入漏洞(CVE-2026-35022,CVSS 9.8),攻击者能够通过环境变量、文件路径和身份验证助手执行任意命令并窃取凭据。这些缺陷使得在 CI/CD 环境中能够进行毒化流水线执行攻击,需要立即修补和配置更改。