目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2024-21511 — 神龙十问 AI 深度分析摘要

CVSS 9.8 · Critical

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

🚨 **本质**:Node.js MySQL 客户端 `mysql2` 存在 **任意代码注入** 漏洞。 💥 **后果**:攻击者可利用 **timezone** 参数处理不当,执行恶意代码,导致系统被完全控制。

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

🔍 **CWE**:CWE-94 (代码注入)。 📍 **缺陷点**:`readCodeFor` 函数中,对调用本机 MySQL 服务器 date/time 函数时的 **timezone 参数** 清理不正确。

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

📦 **组件**:`mysql2` (Andrey Sidorov 开发的 Node.js MySQL 客户端)。 📉 **受影响版本**:**2.3.9.7 之前** 的所有版本。

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

👑 **权限**:高 (CVSS 评分极高)。 📊 **数据/影响**: - **C:H** (机密性高,数据泄露) - **I:H** (完整性高,数据篡改) - **A:H** (可用性高,服务中断) - 直接导致 **任意代码执行**。

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

🚪 **利用门槛**:**低**。 - **AV:N** (网络远程攻击) - **AC:L** (攻击复杂度低) - **PR:N** (无需认证) - **UI:N** (无需用户交互) 👉 远程匿名即可利用。

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

🧪 **Exp/PoC**:数据中未提供公开 PoC 或 **在野利用** 报告。 🔗 但官方已发布修复提交和 PR,建议参考 GitHub 链接确认细节。

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

🔎 **自查方法**: 1. 检查 `package.json` 或 `node_modules`。 2. 确认 `mysql2` 版本是否 **< 3.9.7**。 3. 扫描工具检测 CVE-2024-21511。

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

🛡️ **官方修复**:**已修复**。 📌 **修复版本**:**v3.9.7**。 🔗 参考:GitHub Release v3.9.7 及 PR #2608。

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

⚠️ **临时规避**: 1. **升级**至 v3.9.7 或更高版本(首选)。 2. 若无法升级,考虑 **隔离** 受影响的 Node.js 服务。 3. 审查代码中是否直接传递不可信的 timezone 参数。

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

🔥 **优先级**:**紧急 (Critical)**。 - CVSS 向量显示 **C/I/A 均为高 (H)**。 - 无需认证即可远程利用。 - **立即升级** 到 v3.9.7+ 以消除风险。