レガシーなTelnet実装の欠陥により、認証前のリモートコード実行が可能になり、影響を受けるシステムが完全に侵害される可能性があります。
CVSS評価が9.8の重大なTelnet脆弱性により、攻撃者は認証が有効になる前に影響を受けるシステムを完全に制御できます。Dream Securityのセキュリティ研究者らが警告しています。
CVE-2026-32746として追跡されているこの脆弱性は、GNU inetutils telnedに存在します。これはTelnetリモートアクセスプロトコルの広く展開されている実装であり、レガシーインフラストラクチャ、ネットワーク機器、組み込みシステム全体で見られます。このプロトコルは、2000年代初期以降、最新環境ではSSH(Secure Shell)に大部分が置き換わっています。
脆弱なTelnetサービスを実行し続けているシステムでは、新しく開示されたこの欠陥により、バッファオーバーフローの問題から生じる境界外書き込みが可能になり、rootとして認証されていないリモートコード実行(RCE)が実現される可能性があります。
根本原因は、Telnetプロトコルネゴシエーション中にトリガーされるtelnetd LINEMODE Set Local Characters(SLC)ハンドラのバッファオーバーフローです。この欠陥に関する国家脆弱性データベースエントリによると、脆弱性は認証前に悪用できるため、攻撃者は特別に作成されたメッセージを使用して接続を確立した直後に任意のコードを実行できます。
多くのデプロイメントでは、telnedはroot権限で実行されているため、悪用が成功すると完全なシステム侵害が生じる可能性があるとDreamは述べています。
Dreamは3月11日にGNU Inetutilsの保守者にこの欠陥について通知し、バッファオーバーフローがどのように悪用される可能性があるかについて説明しました。
「SLC応答は固定の108バイトバッファ、slcbufに構築されており、4バイトヘッダ後のデータに104バイトのみが使用されます。関数add_slc()(行162-175)はSLC三つ組ごとに3バイトを追加しますが、バッファがいっぱいかどうかをチェックすることはありません。ポインタslcptrは毎回インクリメントされるだけです」と、GNUメーリングリストへのメッセージによると、同社は保守者に伝えました。
「約35個の三つ組の後[…]、104バイトのスペースが超過され、コードはslcbufの終わりを超えて書き込まれます。これはBSS内のその後にあるものを破損させます(slcptrポインタを含む)。後で、end_slc()は破損したslcptrを使用してサブオプション終了マーカーを書き込み、これは攻撃者にメモリ内の任意の書き込みを与えます。したがって、このバグは境界チェックのない古典的なバッファオーバーフローです」とメッセージは続きました。
保守者は翌日パッチを作成し、Dreamの勧告のタイムラインに従って4月1日までにリリースする計画を立てました。
脆弱なシステムには、公開されたTelnetインターフェースを持つ組み込みシステムおよびIoTデバイス、TCPポート23でリッスンし脆弱なコードベースを使用するサーバーおよびアプライアンス、そしてinetutilsを提供し、telnedが有効またはインストール可能なままのLinuxディストリビューション(Debian、Ubuntu、RHEL、SUSEを含む)が含まれるとDreamは述べています。
「ポート23への単一のネットワーク接続は脆弱性をトリガーするのに十分です。認証情報、ユーザーインタラクション、特別なネットワーク位置は不要です」と述べられました。
Dreamは、ソフトウェアがパッチされるまでの間、SSHなどのセキュアな代替策への移行、telnedの無効化、またはroot権限なしでの実行を含む、いくつかの即座の回避策を提案しました。それが不可能な場合、ネットワーク周辺でポート23をブロックし、その使用を信頼できるホストに制限することを提案しました。
これは今年現れた2番目のTelnet関連の欠陥であり、1月に発見された認証バイパスバグに続くものであり、デバイスを完全な乗っ取りにさらしていました。