本文へ移動
English version →
高 7.5

Twisted IRCサーバーで認証なしにサービス停止のおそれ

CVE-2026-115776 SecPulse初出

概要

Twisted の IRC サーバー機能に、改行のない大量のデータを送り続けると、メモリを使い果たしてサーバー全体が停止するおそれの脆弱性が見つかりました。認証の前でも攻撃でき、影響は 26.10.0rc1 より前の版です。修正版の 26.10.0rc1 以降へ更新してください。

AI要約

外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。

Twisted の IRC サーバー機能に、改行のない大量のデータを送り続けると、メモリを使い果たしてサーバー全体が停止するおそれの脆弱性が見つかりました。認証の前でも攻撃でき、影響は 26.10.0rc1 より前の版です。修正版の 26.10.0rc1 以降へ更新してください。

影響パッケージ

種類パッケージ影響を受ける版直った版
twisted twisted — —
pip Twisted
26.10.0rc1 未満
26.10.0rc1
PyPI twisted
26.10.0rc1 未満
26.10.0rc1
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

Summary

An unbounded-buffer vulnerability (CWE-770) in the Twisted words IRC server lets any unauthenticated remote client exhaust server memory. twisted.words.protocols.irc.IRC.dataReceived appends every received byte to a per-connection buffer and only removes data at a line feed, with no maximum length. Because IRC is a plain Protocol and not a LineReceiver, one connection that streams bytes without a line feed grows the buffer without bound and drives the whole single-threaded process to out-of-memory, dropping every user at once. The twistd words server inherits the method unchanged through IRCUser, and the data is buffered before any authentication.

Details

IRC.dataReceived keeps everything up to the last line feed in self.buffer:

# twisted/words/protocols/irc.py
class IRC(protocol.Protocol):        # not a LineReceiver, so no MAX_LENGTH
    buffer = ""
    def dataReceived(self, data):
        if isinstance(data, bytes):
            data = data.decode("utf-8")
        lines = (self.buffer + data).split(LF)
        self.buffer = lines.pop()    # no 3line feed -> whole input stays buffered
        ...

With no line feed in the data, lines.pop() returns the entire accumulated content to self.buffer, so it grows by every chunk and is never bounded; IRC defines no MAX_LENGTH, no lineLengthExceeded, and no timeout, so the connection is never closed. The twistd words server protocol IRCUser subclasses IRC without overrid…

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく