CVE-2018-3760 — 神龙十问 AI 深度分析摘要
本页是神龙十问 AI 深度分析的
摘要版。完整版(更长回答、追问、相关漏洞)需
登录查看 →Q1这个漏洞是什么?(本质+后果)
🚨 **本质**:Sprockets 存在**路径遍历**漏洞,导致**信息泄露**。 💥 **后果**:攻击者可读取应用根目录外的敏感文件(如配置文件、源码),造成严重数据泄露。
Q2根本原因?(CWE/缺陷点)
🔍 **CWE**:CWE-22 (路径遍历)。 🐛 **缺陷点**:Sprockets 在处理请求时存在**二次解码**逻辑缺陷,导致 `../` 被绕过,从而访问受限目录。
Q3影响谁?(版本/组件)
📦 **组件**:Sprockets (Ruby 静态文件服务器)。 📉 **版本**: - 4.0.0.beta7 及之前 - 3.7.1 及之前 - 2.12.4 及之前
Q4黑客能干啥?(权限/数据)
🕵️ **黑客能力**: - **读取任意文件**:包括 `secrets.yml`、数据库配置等。 - **权限**:取决于运行 Sprockets 的用户权限,可获取服务器敏感信息。 - **注意**:生产模式下默认不暴露 Sprockets,风险较低。
Q5利用门槛高吗?(认证/配置)
🚪 **门槛**: - **认证**:通常无需认证(开发环境默认开启)。 - **配置**:仅在**开发模式**或 Sprockets 直接暴露时有效。生产环境默认不漏洞。 - **难度**:低,构造特定 URL 即可。
Q6有现成Exp吗?(PoC/在野利用)
💻 **Exp/PoC**: - **有现成 Exp**:GitHub 上有多个 PoC(如 Orange Tsai 发现的利用链)。 - **利用方式**:使用 `%252e%252e/` 进行编码绕过。 - **在野**:数据未明确提及大规模在野,但 PoC 公开。
Q7怎么自查?(特征/扫描)
🔎 **自查方法**: - **扫描特征**:检测 URL 中包含 `file://` 或 `%252e%252e` 的请求。 - **工具**:使用 Nuclei 模板 (`CVE-2018-3760.yaml`) 进行自动化扫描。 - **环境**:检查是否运行在 Rails 开发模式且暴露了 `/assets` 路径。
Q8官方修了吗?(补丁/缓解)
🛡️ **官方修复**: - **已修复**:Rails/Sprockets 官方已发布补丁。 - **参考**:GitHub 提交记录及 RedHat 安全公告 (RHSA-2018:2244 等)。 - **建议**:升级 Sprockets 到修复版本。
Q9没补丁咋办?(临时规避)
🚧 **临时规避**: - **关闭开发模式**:确保应用运行在**生产模式** (Production Mode)。 - **隐藏目录**:在 Web 服务器 (Nginx/Apache) 层禁止访问 `/assets` 或 Sprockets 相关路径。 - **WAF 规则**:拦截包含 `%252e` 或 `../` 的异常请求。
Q10急不急?(优先级建议)
⚡ **优先级**: - **高危**:若处于开发/测试环境且暴露公网,需**立即修复**。 - **中危**:若仅内网使用,需尽快升级。 - **低危**:若为生产环境且未暴露 Sprockets,风险可控,但仍建议升级以防万一。