【高危漏洞】CVE-2026-23842:ChatterBot 连接池耗尽导致拒绝服务

漏洞概述

ChatterBot 是一个基于机器学习的对话引擎,用于构建聊天机器人。该工具在 1.2.10 及更早版本中存在拒绝服务(DoS)漏洞,源于其对数据库会话和 SQLAlchemy 连接池管理不当。当多个并发请求调用 get_response() 方法时,可能耗尽数据库连接池资源,导致服务持续不可用,需手动重启才能恢复。官方已在 1.2.11 版本中修复此问题。

漏洞详情

  • CVE 编号:CVE-2026-23842
  • 漏洞类型:拒绝服务(CWE-400:资源耗尽)
  • CVSS 评分:7.5(HIGH)
  • 影响版本:ChatterBot ≤ 1.2.10

影响范围

所有使用 ChatterBot 1.2.10 及更早版本并启用数据库后端(如 SQLAlchemy 支持的 SQLite、PostgreSQL、MySQL 等)的部署环境均受影响。特别是在高并发场景下,攻击者可轻易触发连接池耗尽,造成服务中断。

风险分析

该漏洞可被远程、无需认证的攻击者利用,通过发送大量并发请求触发数据库连接池资源耗尽,从而导致服务完全不可用。由于恢复需人工干预(如重启服务),对可用性构成严重威胁,适用于 DoS 攻击场景。

修复建议

  • 立即升级 ChatterBot 至 1.2.11 或更高版本,该版本已修复连接池管理问题。
  • 若暂时无法升级,可考虑限制并发请求数、部署前置速率限制(Rate Limiting)机制,或调整 SQLAlchemy 连接池大小作为临时缓解措施(但无法根本解决问题)。

参考链接