事件背景与影响
近期,Ruby on Rails 框架爆出一个被命名为“KindaRails2Shell”的高危漏洞(CVE-2026-66066)。该漏洞源于 Rails 的 Active Storage 组件在处理图像上传时存在缺陷,可能导致攻击者读取服务器敏感文件,甚至实现远程代码执行。
从我们的应急响应经验来看,由于 Ruby on Rails 是构建 Web 应用的主流框架,且此类涉及底层库解析的漏洞往往具有较高的隐蔽性,很多企业在资产梳理时容易忽视其处理图像的后端逻辑,从而导致防御缺口。
攻击链分析:从图片上传到服务器沦陷
KindaRails2Shell 的核心逻辑在于对 libvips 库的不当调用。Rails 的 Active Storage 默认使用 libvips 进行图片处理(如缩略图生成),而 libvips 为了支持多种格式,不仅仅解析常见的 JPEG 或 PNG,还会尝试解析 MATLAB、NIfTI、SVG 和 PDF 等复杂格式。
攻击者通过精心构造伪装成普通图片的恶意文件,诱导服务器进行处理。当服务器尝试对该文件进行缩略图转换时,libvips 会触发对恶意格式解析器的调用,从而执行攻击指令。这一环节是很多企业容易忽视的,因为大多数开发者默认上传的图片是“安全的”,却忽略了后端处理引擎对非标准格式文件的兼容性风险。
技术手法解析与危害
一旦攻击者成功利用该漏洞,他们能够读取服务器上的任意文件。最直接的威胁在于获取 secret_key_base 以及各类云服务凭证(如 S3、GCS、Azure 密钥)。一旦这些凭证泄露,攻击者不仅能读取更多敏感配置,还可能利用这些权限实现横向移动或进一步的远程代码执行。
值得注意的是,使用 ImageMagick 处理器的应用目前不受此漏洞影响。但对于使用默认配置的 Rails 7 及以上版本应用,风险极大。
安全建议与 Solar 经验分享
针对此次漏洞,我们建议受影响的企业立即采取以下行动:
- 优先升级补丁:请尽快将 Rails 升级至 7.2.3.2、8.0.5.1 或 8.1.3.1 及以上版本。同时,确保 libvips 更新至 8.13 或更高版本。
- 配置环境变量:如果无法立即升级 libvips,可尝试设置
VIPS_BLOCK_UNTRUSTED环境变量,这能有效禁用 libvips 对不安全操作的执行,是短期内有效的缓解手段。 - 凭证轮换:考虑到漏洞的严重性,即使没有发现被攻击的迹象,我们也强烈建议在修复后立即轮换所有的 Master Key、数据库凭证以及第三方服务 API Key。
- 深度排查:利用 Rails 官方提供的检测工具,排查应用是否存在历史被利用痕迹,查看是否有异常的敏感文件读取记录。
从我们的应急响应实践来看,单纯依赖 WAF 拦截虽然能挡住部分已知特征的攻击,但绝不能替代补丁修复。类似攻击近年来明显增加,攻击者越来越倾向于利用底层库的解析逻辑漏洞进行“降维打击”。
如果您想了解勒索病毒的最新发展趋势,或在实际业务中遇到类似安全事件,欢迎关注“Solar应急响应团队”。
全国热线:400-613-6816 官网:www.solarsecurity.cn / www.sierting.com