CVE-2026-24061を捕捉:11年間のサイレント ルートアクセス

要約

  • 2026年1月22日、私のハニーポットがCVE-2026-24061の実際の悪用試行をキャプチャしました。これはGNU InetUtils telnetdのCVSS 9.8脆弱性です
  • 攻撃者は勧告で文書化されたのと同じ手法を使用しました:USER環境変数インジェクション(-f root経由)で認証をバイパス
  • この脆弱性は11年間(2015年から)隠れていました
  • ロシアのインフラストラクチャからの追加の攻撃により、ネットワークデバイスの自動スキャンとシェルエスケープの試みが明らかになりました
  • これは、レガシープロトコルが現代的なインフラストラクチャにいかに引き続き悪影響を与えているかを示しています

背景

GNU InetUtilsはGNUプロジェクトによって保守されている古典的なネットワークツールの集合で、telnet、ftp、ping、tracerouteを含みます。Telnetは数十年前にセキュアなリモートアクセスのためにSSHに置き換わってお気に入りから外れましたが、特定の環境では驚くほど普及したままです。

2026年1月20日、Simon Josefsson氏はoss-securityメーリングリストにセキュリティ勧告を公開し、CVE-2026-24061である認証バイパス脆弱性を開示しました。これにより認証されていないリモートルートアクセスが1つのコマンドで可能になります。

クレジット:脆弱性はKyu Neushwaistein(別名Carlos Cortes Alvarez)によって発見されました。

私はBeelzebubを使用したカスタムハニーポットをデプロイして、telnet悪用試行を監視していました。私がキャプチャしたものは注目に値しました:公開開示の直後の実際の悪用試行、そして脆弱性は10年以上の間コードベースに静かに潜んでいました。


脆弱性:CVE-2026-24061

ハニーポットデータに深く入る前に、このバグがなぜそんなに危険なのか、そしてその単純さでどうエレガントなのかを理解しましょう。

根本原因:環境変数を介した引数インジェクション

脆弱性はtelnetdがloginプロセスをスポーンするときにUSER環境変数をどのように処理するかの欠陥を悪用します:

  1. 通常のフロー:ユーザーがtelnet経由で接続すると、デーモンは認証中に提供されたユーザー名を使用して/usr/bin/loginを呼び出します。
  2. RFC 1572機能:TELNET NEW-ENVIRON オプション(RFC 1572)により、クライアントはUSER変数を含む環境変数をサーバーに送信できます。
  3. 脆弱なフロー:telnetdデーモンはUSER環境変数をサニタイズなしでloginコマンドに直接渡します。USER="-f root"を設定することで、攻撃者は-fフラグを注入します。
  4. -fフラグ:login(1)では、-fフラグは「このユーザーは別の場所で既に認証されています。パスワードチェックを完全にスキップします」を意味します。

致命的なワンライナー

USER="-f root" telnet -a <target_ip> 23

以上です。即座にルートシェルを取得します。パスワードなし。悪用チェーンなし。メモリ破壊テクニックなし。2015年から存在している引数インジェクションにすぎません。

脆弱なコード

バグはtelnetd/utility.cに存在していました:

// 前(脆弱)
case 'U':
  return getenv("USER") ? xstrdup(getenv("USER")) : xstrdup("");
// 後(2.8でパッチ)
case 'U':
  { char *u = getenv("USER");
    return (u && *u != '-') ? xstrdup(u) : xstrdup(""); }

修正は1文字のチェック:USER値が-で始まる場合は拒否します。


ハニーポットのセットアップ

私はBeelzebubベースのハニーポットをデプロイし、脆弱なGNU InetUtils telnetdインスタンスをミミックするよう設定しました。ハニーポットは標準的なtelnetサービスを公開しました:

ポート サービス バージョン
23/TCP telnetd GNU InetUtils 2.0(脆弱)

Beelzebubの設定例:

apiVersion: "v1"
protocol: "telnet"
address: ":23"
description: "TELNET対話型"
commands:
  - regex: "^ls$"
    handler: "bin  boot  dev  etc  home  lib  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var"
  - regex: "^ls -la$"
    handler: "total 84\ndrwxr-xr-x 21 root root 4096 Jan 15 10:30 .\ndrwxr-xr-x 21 root root 4096 Jan 15 10:30 ..\ndrwxr-xr-x  2 root root 4096 Jan 10 08:15 bin\ndrwxr-xr-x  3 root root 4096 Jan 10 08:15 boot"
  - regex: "^whoami$"
    handler: "root"
  - regex: "^id$"
    handler: "uid=0(root) gid=0(root) groups=0(root)"
  - regex: "^uname$"
    handler: "Linux"
  - regex: "^uname -a$"
    handler: "Linux telnet-server 5.4.0-42-generic #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux"
  - regex: "^uname -m$"
    handler: "x86_64"
  - regex: "^cat /etc/passwd$"
    handler: "root:x:0:0:root:/root:/bin/bash\ndaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\nbin:x:2:2:bin:/bin:/usr/sbin/nologin\nsys:x:3:3:sys:/dev:/usr/sbin/nologin\nuser:x:1000:1000:user:/home/user:/bin/bash"
  - regex: "^(.+)$"
    handler: "bash: command not found"
serverVersion: "Linux telnetd"
serverName: "telnet-server"
passwordRegex: "^(root|admin|password|123456|telnet|guest|cisco|oracle)$"
deadlineTimeoutSeconds: 60

攻撃のタイムライン

2026年1月20日 — 公開開示

  • 詳細な脆弱性分析
  • 影響を受けるバージョン(1.9.3から2.7)
  • ワンライナー悪用コマンド
  • パッチコミット(fd702c02およびccba9f74)

2026年1月22日、10:23:17 UTC — CVE-2026-24061の悪用が始まる

フェーズ1:接続確立

IPを試しています...
IPに接続しました。
エスケープ文字は'^]'です。

攻撃者は標準的なtelnet接続を確立します。

フェーズ2:環境変数インジェクション

TELNET オプションネゴシエーション(IAC)中に、攻撃者は以下を送信します:

IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

フェーズ3:認証バイパス

ログインプロセスが受け取るもの:

/usr/bin/login -h <client_ip> -f root

-f rootを使用すると、認証は完全にスキップされます。

フェーズ4:悪用後の偵察

{
  "DateTime": "2026-01-22T10:23:19Z",
  "Commands": [
    "id",
    "whoami",
    "uname -a",
    "cat /etc/passwd"
  ]
}

ルートアクセスを確認し、システムを特定するための古典的なフィンガープリント用シーケンス。


攻撃ソース

属性
ソースIP 5.130.235[.]96
逆DNS l5-130-235-96.novotelecom.ru
CIDR 5.130.0.0/16
ロシア連邦
ASN AS31200(Novotelecom)

ペイロード分析

CVE-2026-24061 — 勧告と正確に一致

キャプチャされたペイロードは、文書化された悪用技術と正確に一致します:

要素 CVE文書 キャプチャされたペイロード
環境変数 USER USER
注入値 -f root -f root
Telnetフラグ -a(自動ログイン) IAC NEW-ENVIRON
ターゲットユーザー root root

観察された攻撃のバリエーション

72時間の監視を通じて、複数のバリエーションを観察しました:

USER値 ターゲット 頻度
-f root root 80%
-f admin admin 12%
-f ubuntu ubuntu 8%

攻撃者は一般的な特権ユーザー名をターゲットとしており、rootへの圧倒的な焦点があります。

スプレーパターン

攻撃セッションは一貫したパターンを示しました:

  1. 急速な連続:秒以内の複数の接続試行
  2. 偵察なし:バージョンフィンガープリントなしの直接悪用
  3. 自動化された動作:同じタイミング、同じペイロード構造
  4. 広いネット:セッションごとに複数のユーザー名をターゲット

脅威アクターのプロフィール

CVE-2026-24061攻撃者(複数のセッションから集計)

属性 観察された値
ユニークIP 40
トップジオロケーション ロシア、中国、オランダ、米国
トップASN AS212238(Datacamp)、AS14061(DigitalOcean)、AS45090
ネットワークタイプ VPN/プロキシサービス、クラウドプロバイダー

侵害のインジケータ(IoCs)

ネットワークIoCs

#疑わしいtelnet接続
- 宛先ポート:23/TCP
- USER(「-」で始まるもの)を含むNEW-ENVIRON
#悪意のあるIPアドレス
- 5.130.235.96(Novotelecom、ロシア)
#監視するASN(スキャナー活動が多い)
- AS212238(Datacamp Limited)
- AS14061(DigitalOcean)
- AS31200(Novotelecom)
#トラフィックパターン
- 10秒以内に同じIPから複数のtelnet接続
- 「-f」を含むIAC SB NEW-ENVIRON
- 順次の「enable」、「linuxshell」、「system」、「shell」コマンド

Telnetセッション署名

#悪意のあるUSER環境変数パターン
USER=-f root
USER=-f admin
USER=-f *
#IAC ネゴシエーションパターン(hex)
FF FA 27 00 00 55 53 45 52 01 2D 66 20 72 6F 6F 74 FF F0
#デコード:IAC SB NEW-ENVIRON IS VAR "USER" VALUE "-f root" IAC SE

検出ルール(Sigma)

title: GNU InetUtils telnetd CVE-2026-24061 悪用試行
id: b2c3d4e5-f6a7-8901-bcde-f23456789012
status: experimental
description: CVE-2026-24061認証バイパスの悪用試行を検出します
references:
  - https://www.openwall.com/lists/oss-security/2026/01/20/2
  - https://nvd.nist.gov/vuln/detail/CVE-2026-24061
logsource:
  category: network_connection
  product: zeek
detection:
  selection_port:
    dst_port: 23
  selection_payload:
    payload|contains:
      - 'USER=-f'
      - '-f root'
      - '-f admin'
  condition: selection_port and selection_payload
falsepositives:
  - 異常な環境変数を含む正当なtelnet使用(非常にまれ)
level: critical
tags:
  - attack.initial_access
  - attack.t1190
  - attack.privilege_escalation
  - attack.t1548
  - cve.2026.24061

Snort/Suricataルール

alert tcp any any -> any 23 (msg:"CVE-2026-24061 telnetd認証バイパス試行";
  content:"|FF FA 27|"; content:"USER"; content:"-f "; within:20;
  classtype:attempted-admin; sid:2026024061; rev:1;)

主要な発見

1. 急速な兵器化

公開開示の直後、実際の悪用が既に進行中でした。公表されたPoC付きの重大な脆弱性はほぼ即座に兵器化されます。

1月20日、2026年 → oss-securityで勧告が公開

1月22日、2026年 → 実際の悪用が検出

2. 11年間の亡霊

この脆弱性は2015年に、自動ログイン支援用の動的ユーザー名処理(%Uテンプレート)を追加したコミットで導入されました。10年以上の間、RFC 1572環境変数について知っていた人なら誰でも、数百万のシステムで即座にルート権限を獲得できたはずです。

2015年  → 脆弱なコードが導入(inetutils 1.9.3)

11年間のサイレント露出

2026年  → ついに発見されてパッチが適用

3. レガシープロトコル、現代的なリスク

「廃止」されているにもかかわらず、telnetは以下の環境に残存しています:

  • 産業制御システム(ICS/OT):レガシーSCADAシステム、PLC
  • ネットワーク機器:ルーター、スイッチ、ロードバランサー
  • 組み込みシステム:医療機器、産業センサー
  • コンシューマーデバイス:ルーター、カメラ、NASシステム

4. 大規模スキャンインフラストラクチャ

攻撃パターンは大規模で自動化されたキャンペーンを示しています。攻撃者はインターネット全体をポート23でスキャンし、バージョンチェックなしで複数の悪用技術を即座に試行しています。これは悪用技術が非常にシンプルなため機能するスプレー・アンド・プレイアプローチです。


露出分析

Shodan統計

現在のShodan データに基づいて:

メトリック
ポート23が開いているデバイス 世界中で約220,000以上
過去の最高値 約1000万(2017年)
トレンド 減少しているが継続

推奨事項

OT/ICS環境向け

  1. ネットワークセグメンテーション — telnetを必要とするレガシーデバイスを分離
  2. ジャンプホスト — 強化されたバスティオンホストを通じた認証を要求
  3. 監視CVE-2026-24061署名のネットワーク検出をデプロイ
  4. 文書化 — telnet依存システムをすべてインベントリし、最終的な置き換えのために管理

防御者向け

  1. ハニーポットをデプロイ — 悪用試行の早期警告を得る
  2. 上記で提供されたSigma/Snortルールを実装
  3. AS212238、AS31200などの既知のスキャナーインフラストラクチャを監視
  4. ブロックまたはアラート:USER-で始まるNEW-ENVIRONに対するアラート

結論

このケーススタディはいくつかの重要な教訓を示しています:

ハニーポットの価値:Beelzebubを使用した単純なtelnetdハニーポットをデプロイすることで、開示直後の実際の悪用データをキャプチャしました。これには正確なペイロード、攻撃者インフラストラクチャ、および行動パターンが含まれます。

レガシープロトコルは時限爆弾:脆弱性は「廃止された」コードに10年以上潜むことができます。プロトコルが廃止されているからといって、インフラストラクチャのどこかで実行されていないわけではありません。

シンプルが殺すCVE-2026-24061は悪用開発、シェルコード、メモリ破壊テクニックを必要としません。これはルートを付与するワンライナーです。これらの「退屈な」脆弱性は、大規模で悪用するのが簡単なため、多くの場合最も危険です。

ウィンドウは閉じつつあります:PoC コードが公開され、自動スキャンが進行中の状態で、公開されているtelnetdインスタンスはおそらく既に侵害されているか、すぐに侵害されるでしょう。行動する時間は昨日でした。


参考文献

翻訳元: https://beelzebub.ai/blog/catching-cve-2026-24061-in-the-wild/

ソース: beelzebub.ai