Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-35517 — Pi-hole FTLDNS RCE(CVE-2026-35517)の改行インジェクションを介した検出スクリプト。バージョンベースの脆弱性評価のためのPythonスキャナーとNmap NSEスクリプトを含む。 | Kitploit
ツール/GitHubGitHub/keraattin/cve-2026-35517
脆弱性スキャナーエクスプロイト情報収集ウェブセキュリティネットワークセキュリティペネトレーションテスト
GitHubkeraattin/cve-2026-35517

CVE-2026-35517

Pi-hole FTLDNS RCE(CVE-2026-35517)の改行インジェクションを介した検出スクリプト。バージョンベースの脆弱性評価のためのPythonスキャナーとNmap NSEスクリプトを含む。

リポジトリを見る
175ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-35517 - Pi-hole FTLDNS 改行インジェクションによるリモートコード実行

CVE-2026-35517 CVSS 8.8 CWE-93 FTLDNS 6.0-6.5

TL;DR

Pi-hole の FTLDNS エンジン(バージョン 6.0 から 6.5)における リモートコード実行 の脆弱性により、認証済みの攻撃者が dns.upstreams API パラメータに 改行文字(\n)を埋め込むことで、任意の dnsmasq 設定ディレクティブを注入できます。dnsmasq はシェルコマンドを実行するディレクティブをサポートしているため、この改行インジェクションは ホストシステム上での完全なコマンド実行 に直接つながります。

これは単一のバグではなく、5つの異なる設定パラメータ に影響を与えるインジェクションの一種であり、すべて FTL v6.6 でまとめて修正されています。


目次

  • クイックファクト
  • Pi-hole FTLDNS とは?
  • 脆弱性の詳細
    • アーキテクチャの理解
    • インジェクションポイント
    • 改行からシェルへ — キルチェーン
    • 全ファミリー — 5つのインジェクションベクター
  • 影響分析
  • 影響を受けるバージョン
  • 誰がリスクにさらされるか?
  • 検出
    • Python スキャナー
    • Nmap NSE スクリプト
    • 手動バージョン確認
  • 侵害の指標
  • 修復
  • 参考情報
  • 著者

クイックファクト

フィールド詳細
CVE IDCVE-2026-35517
ベンダーPi-hole Project
製品FTLDNS (pihole-FTL)
影響を受けるバージョン6.0 から < 6.6
CVSS v3.18.8 (High)
CWECWE-93 — CRLF シーケンスの不適切な無害化
攻撃ベクトルネットワーク
認証必須(Pi-hole 管理者/API アクセス)
ユーザー操作なし
公開日2026年4月7日
修正バージョンFTL v6.6(2026年4月3日リリース)
発見者T0X1Cx
関連アドバイザリGHSA-23w8-7333-p9fj, GHSA-wxhv-w77q-6qwp, GHSA-28g5-gg88-wh5m, GHSA-fqv2-qhfh-ghcj, GHSA-vfmq-jrx3-wv3c

Pi-hole FTLDNS とは?

Pi-hole は、世界で最も広く展開されている DNS シンクホールの1つです。ネットワーク上に配置され、DNS クエリを処理し、ブラウザに到達する前に DNS レベルで広告やトラッカーをブロックします。アパートの単一 Raspberry Pi セットアップから、数千台のデバイスを保護するエンタープライズ展開まで、あらゆる場所で使用されています。

FTLDNS(Faster Than Light DNS)は Pi-hole のコアエンジンです。これは、よく知られた DNS および DHCP サーバーである dnsmasq をベースにしたカスタムフォーク/ラッパーです。FTLDNS は以下を処理します:

  • DNS クエリの解決とキャッシュ
  • DNS レベルのブロッキング(Pi-hole のコア機能)
  • DHCP サーバー機能
  • クエリのロギングと統計
  • Web インターフェースが通信する API

ここが重要なポイントです:FTLDNS は API を通じてユーザーが指定した設定から dnsmasq 設定ファイルを生成します。Pi-hole 管理パネルでアップストリーム DNS サーバーを変更すると、FTLDNS はその値を dnsmasq 設定ファイルに書き込み、サービスを再起動します。この書き込みパスに脆弱性が存在します。


脆弱性の詳細

アーキテクチャの理解

+------------------+            +------------------+               +------------------+
|   管理パネル     |  API/Web   |  FTLDNS エンジン  | 設定書き込み   |    dnsmasq       |
|    (Web UI)      | ---------> |  (pihole-FTL)    | ------------> |   (DNS/DHCP)     |
+------------------+            +------------------+               +------------------+
                                        |                                   |
                                  設定を読み取り、                    設定を読み取り、
                                  設定ファイルを                       DNS/DHCP を
                                  ディスクに書き込む                   ネットワークに提供

管理者が Pi-hole Web UI または API を通じてアップストリーム DNS サーバーを変更すると、フローは次のようになります:

  1. Web UI が新しいアップストリーム DNS 値を FTLDNS API にリクエストを送信
  2. FTLDNS が入力を検証(むしろ、適切に検証できていない)
  3. FTLDNS が値を dnsmasq 設定ディレクティブに書き込む
  4. dnsmasq が再起動され、新しい設定を読み込む

インジェクションポイント

dns.upstreams パラメータは、8.8.8.8 や 1.1.1.1 のような DNS サーバーアドレスを受け入れることを意図しています。FTLDNS はこれらを dnsmasq 設定に server= ディレクティブとして書き込みます:

# 通常の入力: "8.8.8.8"
# 生成されるもの:
server=8.8.8.8

問題はここにあります:FTLDNS は入力内の改行文字をサニタイズしません。攻撃者は \n を注入して、意図された server= ディレクティブから抜け出し、完全に新しい設定行を注入できます:

# 悪意のある入力: "8.8.8.8\ndhcp-option=6,evil.dns.server"
# 生成されるもの:
server=8.8.8.8
dhcp-option=6,evil.dns.server

これだけでも懸念事項です(DHCP オプション注入による DNS ハイジャック)。しかし、さらに悪化します。

改行からシェルへ — キルチェーン

dnsmasq は外部スクリプトを参照できる dhcp-option と呼ばれる設定ディレクティブをサポートしており、さらに重要なことに、特定のシナリオでコマンドを実行できるいくつかのディレクティブをサポートしています。悪用チェーンは次のようになります:

ステップ 1: 攻撃者が Pi-hole に認証する
        (デフォルト認証情報、弱いパスワード、CSRF、侵害されたセッション)

ステップ 2: 攻撃者が dns.upstreams を更新する API リクエストを送信:
        
        POST /api/dns/upstream
        {
          "upstreams": ["8.8.8.8\n<悪意のある dnsmasq ディレクティブ>"]
        }

ステップ 3: FTLDNS が改行をサニタイズせずに値を dnsmasq 設定ファイルに書き込む

ステップ 4: 注入された dnsmasq ディレクティブが正当な設定オプションとして解析される

ステップ 5: 注入されたディレクティブに応じて、攻撃者は以下を達成:
        - DNS ハイジャック(すべての DNS クエリをリダイレクト)
        - DHCP ポイズニング(クライアントに悪意のある設定をプッシュ)
        - dnsmasq のスクリプト機能によるコマンド実行
        - 任意のパスへのファイル書き込み

重要な洞察は、これは dnsmasq の脆弱性を悪用するものではないということです。dnsmasq は設計どおりに動作しています。脆弱性は、FTLDNS が信頼できない入力を設定ファイルに混入させ、設定管理 API を任意の設定インジェクションポイントに変えてしまうことにあります。

全ファミリー — 5つのインジェクションベクター

研究者(T0X1Cx)は、同じ改行インジェクションパターンが 5つの異なる FTLDNS 設定パラメータ に影響を与えることを発見しました。これは体系的な問題です — コード全体で入力サニタイズが欠如していました:

アドバイザリパラメータ制御するもの
GHSA-23w8-7333-p9fjdns.upstreamsアップストリーム DNS サーバー
GHSA-wxhv-w77q-6qwpdns.hostRecordカスタム DNS ホストレコード
GHSA-28g5-gg88-wh5mdns.cnameRecordsCNAME レコードマッピング
GHSA-fqv2-qhfh-ghcjdhcp.leaseTimeDHCP リース期間
GHSA-vfmq-jrx3-wv3cdhcp.hosts静的 DHCP ホスト割り当て

これらの各パラメータは dnsmasq 設定ファイルに書き込まれ、それぞれが改行文字のサニタイズに失敗していました。FTL v6.6 の修正では、すべての設定パラメータで改行文字(およびその他の制御文字)を拒否する適切な入力検証が追加されました。


影響分析

Pi-hole ホスト上:

  • FTLDNS プロセスの権限(通常は root または pihole ユーザー)での完全なコマンド実行
  • Pi-hole は専用デバイス(Raspberry Pi)や特権コンテナとして実行されることが多いため、多くの場合 root アクセスを意味します
  • ホストファイルシステムへのファイル読み取り/書き込みアクセス
  • cron ジョブ、SSH キー、または変更されたシステムファイルによる永続化

ネットワーク上(下流への影響):

  • DNS ハイジャック — すべての DNS クエリを攻撃者が制御するサーバーにリダイレクト
  • DHCP ポイズニング — すべての DHCP クライアントに悪意のある DNS、ゲートウェイ、または NTP 設定をプッシュ
  • 中間者攻撃のポジショニング — DNS を制御することで、攻撃者は任意のドメインのトラフィックをリダイレクト可能
  • 認証情報の収集 — 認証エンドポイントをフィッシングサーバーにリダイレクト
  • マルウェア配布 — ソフトウェア更新ドメインをリダイレクトして悪意のあるペイロードを配信

リスク増幅要因:

  • Pi-hole はネットワーク上の 唯一の DNS サーバー であることが多く、侵害されるとすべてのデバイスの名前解決を制御されます
  • 多くの Pi-hole インストールは デフォルトまたは弱い管理者パスワード を使用しています
  • Pi-hole インスタンスは管理者だけでなく、ローカルネットワーク全体に公開 されていることが頻繁にあります
  • Pi-hole Web インターフェースへの CSRF 攻撃により、直接認証なしで悪用が引き起こされる可能性があります

影響を受けるバージョン

バージョンステータス
FTLDNS 6.6+修正済み
FTLDNS 6.0 – 6.5脆弱
FTLDNS 5.x 以前影響なし(異なる API アーキテクチャ)

バージョンを確認するには:

pihole -v
# または
pihole-FTL --version

誰がリスクにさらされるか?

高リスク:

  • 信頼できないネットワークセグメントからアクセス可能な Pi-hole インスタンス
  • デフォルトまたは弱い管理者パスワードを使用している展開
  • インターネットに公開されている Pi-hole(Shodan で驚くほど一般的)
  • 複数のユーザーが同じネットワークにアクセスする共有ホスティング環境

中程度のリスク:

  • 強力なパスワードを持つ適切にセグメント化されたホームネットワーク内の Pi-hole インスタンス
  • 多要素認証を備えた VPN の背後にある展開

低リスク(ただしパッチ適用は必要):

  • エアギャップまたは完全に分離された Pi-hole インスタンス
  • 読み取り専用または API 無効の展開

検出

Python スキャナー

Python スクリプトは、バージョン分析を通じて脆弱な Pi-hole インスタンスを検出します。

仕組み:

  1. フィンガープリンティング — 管理インターフェースの指標(ページコンテンツ、ヘッダー)を通じて Pi-hole を識別
  2. API バージョンクエリ — Pi-hole v5 と v6 の両方の API エンドポイントに FTL バージョン情報を照会
  3. バージョン比較 — FTL バージョン文字列を解析し、脆弱な範囲(6.0 ≤ v < 6.6)と照合
  4. 関連 CVE — 脆弱な場合、関連する5つの改行インジェクションアドバイザリすべてにフラグを立てる

インジェクションペイロードは送信されません。テストは完全に読み取り専用で安全です。

使用方法:

# 依存関係のインストール
pip install -r requirements.txt

# 単一ターゲット(HTTP、デフォルトポート 80)
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 192.168.1.1

# カスタムポート
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t pi.hole -p 8080

# HTTPS モード(ポート 443 に自動切り替え)
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 10.0.0.1 --https

# ファイルからの一括スキャン
python CVE-2026-35517_PiHole_FTLDNS_detector.py -f targets.txt

# JSON 出力をファイルに保存
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 192.168.1.1 --json -o results.json

# タイムアウトの増加
python CVE-2026-35517_PiHole_FTLDNS_detector.py -t 192.168.1.1 --timeout 20

オプション:

ツールをダウンロード