CVE-2026-33173Ruby on Rails 的 Active Storage 组件存在验证绕过漏洞。由于 DirectUploadsController 直接信任客户端元数据,攻击者可伪造内部标志跳过 MIME 检测。这允许上传恶意文件并伪装成安全类型,绕过基于内容类型的验证机制。
该漏洞源于 Ruby on Rails 的 DirectUploadsController 在处理直接上传请求时,直接将客户端提交的 metadata 持久化到 Blob 记录中,缺乏对关键标志位的校验。Active Storage 内部依赖 identified 和 analyzed 等标志位来决定是否对上传文件执行 MIME 类型的自动识别及内容安全分析。攻击者可构造特定的 HTTP POST 请求,在 metadata 参数中人为设置 identified 和 analyzed 为 true,并将 content_type 伪造为看似安全的类型(如 image/png)。服务器接收到该请求后,误认为文件已通过分析,从而跳过了实际的 MIME 检测流程。利用此漏洞,攻击者可以上传恶意脚本或可执行文件,并伪装成图片或文档,成功绕过依赖 Active Storage 自动识别机制的应用层验证,进而可能导致存储型 XSS 或文件上传漏洞被利用。