目標達成 すべての支援者に感謝 — 100%達成しました!

目標: 1000 CNY · 調達済み: 1000 CNY

100.0%

CVE-2021-28918 — 神龙十问 AI 深度分析摘要

Q1这个漏洞是什么?(本质+后果)

🚨 **本质**:npm `netmask` 包存在代码缺陷,无法正确验证八进制字符串输入。 💥 **后果**:导致 **SSRF**(服务端请求伪造)、**RFI**(远程文件包含)和 **LFI**(本地文件包含)。攻击者可绕过 IP 过滤,访问内部关键网络(如 VPN/LAN)。

Q2根本原因?(CWE/缺陷点)

🔍 **缺陷点**:**输入验证不当**。 📉 **CWE**:数据中未提供具体 CWE ID,但核心问题是 **Octal Strings(八进制字符串)** 处理逻辑错误,导致解析偏差。

Q3影响谁?(版本/组件)

📦 **组件**:npm 包 **`netmask`**。 🌍 **影响范围**:极广!受影响的依赖包多达 **280,000+** 个项目。任何依赖此包进行 IP/CIDR 解析的应用均受影响。

Q4黑客能干啥?(权限/数据)

🕵️ **黑客能力**: 1. **SSRF**:迫使服务器访问内部资源。 2. **绕过过滤**:欺骗依赖 `netmask` 做 IP 白名单/黑名单校验的系统。 3. **内网探测**:访问 **VPN** 或 **LAN** 中的关键主机。 4. **文件读取**:通过 RFI/LFI 读取敏感文件。

Q5利用门槛高吗?(认证/配置)

🚪 **门槛**:**极低**。 🔓 **认证**:**无需认证**(Unauthenticated)。 🌐 **位置**:**远程**(Remote)。攻击者只需发送恶意构造的数据包即可触发。

Q6有现成Exp吗?(PoC/在野利用)

🧪 **PoC**:**有**。 🔗 项目discovery 的 **Nuclei** 模板已收录(`CVE-2021-28918.yaml`)。这意味着自动化扫描和快速利用工具已存在。

Q7怎么自查?(特征/扫描)

🔎 **自查方法**: 1. 检查项目 `package.json` 或 `package-lock.json`。 2. 搜索依赖项 **`netmask`**。 3. 使用 Nuclei 模板或 Snyk/Dependabot 等工具扫描已知漏洞。

Q8官方修了吗?(补丁/缓解)

🛡️ **修复状态**:数据中未提及具体补丁版本号,但指出存在 **GHSA 安全公告** (GHSA-pch5-whg9-qr2r) 和厂商/社区建议。 ✅ **建议**:立即升级 `netmask` 到修复后的最新版本(通常 npm 包会发布 patch 版本)。

Q9没补丁咋办?(临时规避)

🚧 **临时规避**: 1. **锁定版本**:如果无法立即升级,检查是否有中间版本可用。 2. **输入清洗**:在应用层对传入的 IP/CIDR 字符串进行更严格的校验(但需谨慎,因为底层库已损坏)。 3. **网络隔离**:限制服务器对内部网络(LAN/VPN)的访问权限。

Q10急不急?(优先级建议)

⚠️ **优先级**:**高 (Critical)**。 📢 **理由**: 1. **无需认证**,远程可直接利用。 2. **影响面巨大**(28万+项目)。 3. **后果严重**(可内网横向移动、读文件)。 4. **PoC 已公开**,自动化攻击风险高。建议 **立即修复**。