AdityaBhatt3010/CVE-2026-23842-Denial-of-Service-via-Database-Connection-Pool-Exhaustion-version-1.2.10

GitHub: AdityaBhatt3010/CVE-2026-23842-Denial-of-Service-via-Database-Connection-Pool-Exhaustion-version-1.2.10

记录 ChatterBot ≤ 1.2.10 版本中因 SQLAlchemy 连接池管理不当导致的高危拒绝服务漏洞 CVE-2026-23842,含技术分析、PoC 代码及负责任披露时间线。

Stars: 1 | Forks: 0

# CVE-2026-23842 ## 通过数据库连接池耗尽导致的拒绝服务漏洞 (≤ 1.2.10) ## 📌 概述 本仓库记录了关于 **CVE-2026-23842** 的发现及负责披露过程,这是 **ChatterBot** 中的一个高危拒绝服务漏洞。 * GitHub Advisory: GHSA-v4w8-49pv-mf72 * CVE ID: **CVE-2026-23842** * CWE: CWE-400 (不受控制的资源消耗) * 严重程度: High (7.5 / 10) * CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H * ![a-hyper-detailed-cinematic-cyberpunk-ill_1YpmQcKtTGuYYByf5li18A_s2g_3oZVSIyO44oyprigwQ_cover_sd](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/4f2c7d18a9111208.jpg)
## 🚨 漏洞摘要 ChatterBot 版本 **≤ 1.2.10** 存在拒绝服务漏洞,这是由不当的数据库会话和连接池管理引起的。 并发调用: ``` get_response() ``` 可能会耗尽底层的 SQLAlchemy `QueuePool`,导致: * 应用程序挂起 * `sqlalchemy.exc.TimeoutError` * 持续的服务不可用 * 恢复需要手动重启 ## 🎯 受影响版本 ``` <= 1.2.10 ``` ## ✅ 已修复版本 ``` >= 1.2.11 ``` ## 🧠 技术根本原因 ChatterBot 依赖 SQLAlchemy 进行数据库交互,并使用默认的连接池配置。 然而: * 没有并发限制 * 没有请求速率限制 * 没有明确的会话生命周期强制执行 * 默认的 QueuePool 限制 当多个线程同时调用 `get_response()` 时: 1. 连接从池中快速被取出 2. 连接释放速度不够快 3. 达到池容量 4. 额外的请求被阻塞 5. SQLAlchemy 抛出 `TimeoutError` 这会导致服务范围的服务可用性被拒绝。 ## 🔬 概念验证 (PoC) ### PoC 脚本 ``` from chatterbot import ChatBot import threading bot = ChatBot("dos-test") def attack(): bot.get_response("hello") threads = [] for _ in range(30): t = threading.Thread(target=attack) t.start() threads.append(t) for t in threads: t.join() ``` ## 🎥 PoC 视频演示 以下视频演示了: * 并发线程执行 * SQLAlchemy QueuePool 耗尽 * TimeoutError 异常 * 应用程序无响应 🔗 PoC 视频: [https://github.com/user-attachments/assets/4ee845c4-b847-4854-84ec-4b2fb2f7090f](https://github.com/user-attachments/assets/4ee845c4-b847-4854-84ec-4b2fb2f7090f) ## 🌐 攻击面 如果部署为: * 公共聊天机器人 API * SaaS 聊天机器人服务 * Web 集成助手 攻击者可以在无需身份验证的情况下远程触发此情况。 ## 📊 CVSS v3.1 分解 | 指标 | 值 | | ------------------- | ------- | | Attack Vector | Network | | Attack Complexity | Low | | Privileges Required | None | | User Interaction | None | | Confidentiality | None | | Integrity | None | | Availability | High | ## 📅 负责任披露时间线 | 日期 | 事件 | | ------ | --------------------------- | | Jan 9 | 漏洞被报告 | | Jan 13 | 维护者重现问题 | | Jan 17 | Advisory 发布 | | Jan 19 | CVE-2026-23842 分配 | | Jan 21 | 公开发布 | ## 🏆 致谢 发现并负责任披露者: **Aditya Bhatt** VAPT 专家 CVE-2026-23842 报告者 ## 🔐 负责任披露声明 此漏洞在公开发布之前已向维护者负责任披露。 在补丁可用之前,未公开分享任何漏洞利用代码。
标签:ChatBot安全, ChatterBot, CVE-2026-23842, CVSS 7.5, CWE-400, DoS, GHSA-v4w8-49pv-mf72, SQLAlchemy, 安全漏洞, 并发攻击, 开放策略代理, 拒绝服务, 数据库会话管理, 未控制资源消耗, 线程安全, 资源耗尽, 连接池耗尽, 逆向工具, 配置错误, 高严重性