
citrixInspector.py(旧称 cve_2023_3519_inspector.py)は、Citrix ADC / Citrix Gateway / NetScaler ADC / NetScaler Gateway アプライアンス向けの Python ベースのパッシブ脆弱性スキャナです。認証なしでターゲットの正確なファームウェアビルドをフィンガープリントし、そのビルドが脆弱であるすべての既知の CVE を報告します。
⚠️ ベータ版: 新しい 2025/2026 年の CVE(CitrixBleed 2/3、CVE-2026-8452、CVE-2026-88771/88772)の検出はベータ版です。これは GZIP タイムスタンプまたは vhash 技術によって正確なファームウェアビルドをフィンガープリントできることに依存しています。どちらもターゲットで機能しない場合、スキャナははるかに粗い CVE-2023-3519 のみのヒューリスティックにフォールバックし、新しい CVE をまったく検出しません(以下の「実行されるチェック」セクションを参照)。新しい CVE の結果は参考情報としてのみ扱ってください。

出力はシミュレートされたテストハーネスに対して実行されました。ホスト名はプレースホルダーにすぎません。
cve_2023_3519_inspector.py を citrixInspector.py に改名しました。/vpn/js/rdx/core/lang/rdx_en.json.gz)を、主要かつ最も信頼性の高い未認証のビルド識別技術として追加しました。これは、従来の v=<hash> 静的リソースハッシュが最新ビルドでは「もはや常に存在するわけではない」ためです。Last-Modified ヘッダーからの推測)を、正確なビルドが判明している場合は正確なバージョンしきい値の比較に置き換え、ビルドを識別できない場合にのみ元のヒューリスティックにフォールバックするようにしました。このスクリプトには Python 3.6+ と以下の Python パッケージが必要です:
必要なパッケージをインストールするには、以下を実行してください:
git clone https://github.com/securekomodo/citrixInspector.git
cd citrixInspector
pip install -r requirements.txt
python citrixInspector.py -u <target_url>
Author: Bryan Smith (@securekomodo)
------------------------
_________ .__ __ .__
\_ ___ \|__|/ |________|__|__ ___
/ \ \/| \ __\_ __ \ \ \/ /
\ \___| || | | | \/ |> <
\______ /__||__| |__| |__/__/\_ \
\/ \/
.___ __
| | ____ ____________ ____ _____/ |_ ___________
| |/ \ / ___/\____ \_/ __ \_/ ___\ __\/ _ \_ __ \
| | | \___ \ | |_> > ___/\ \___| | ( <_> ) | \/
|___|___| /____ >| __/ \___ >\___ >__| \____/|__|
\/ \/ |__| \/ \/
citrixInspector
------------------------
usage: citrixInspector.py [-h] (-u URL | -f FILE) [--ioc-check] [-l LOG]
Fingerprint and check Citrix ADC / NetScaler ADC & Gateway for known CVEs.
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL The URL of the Citrix/NetScaler Gateway to check.
-f FILE, --file FILE A file containing a list of URLs to check.
--ioc-check Slower. Performs IOC (Indicator of Compromise) check.
-l LOG, --log LOG Log file to write the output.
citrixInspector.py スクリプトは、単一の URL または URL のリストを含むファイルを入力として受け取ることができます。その後、指定された Citrix/NetScaler Gateway の潜在的な脆弱性を判断するために一連のチェックを実行します:
# Check a single URL
python citrixInspector.py --url https://example.com
# Check multiple URLs from a file
python citrixInspector.py --file urls.txt
# Check multiple URLs from a file and check for IOCs
python citrixInspector.py --file urls.txt --ioc-check
出力用のログファイルを指定するには、--log オプションを使用します:
python citrixInspector.py --url https://example.com --log my_log.log
ヘルプ:
python citrixInspector.py --help
citrixInspector.py スクリプトは、ターゲットウェブサイトに対して以下のチェックを実行します:
/vpn/js/rdx/core/lang/rdx_en.json.gz の GZIP MTIME ヘッダーフィールド(RFC 1952)を読み取ります。これはファームウェアのコンパイル時に設定され、正確なビルドを一意に識別します。これは Fox-IT Security Research Team による現在推奨される技術です。以下の vhash 技術は最新ビルドでは「もはや常に存在するわけではない」ためです。v=<md5> ハッシュの存在をチェックします。これは 2022 年の Fox-IT(NCC Group)による素晴らしい研究に基づいています:
https://blog.fox-it.com/2022/12/28/cve-2022-27510-cve-2022-27518-measuring-citrix-adc-gateway-version-adoption-on-the-internet/正確なビルドが識別できる場合(GZIP タイムスタンプチェック、vhash チェック、または pluginlist.xml 経由)、スクリプトはそのビルドを以下の表のすべての CVE と照合し、該当するすべてを報告します([CERTAIN])。正確なビルドが識別できない場合は、元のタイトル/アイコン/コメント/ヘッダーのヒューリスティック([FIRM] / [TENTATIVE] / [CITRIX DETECTED])にフォールバックし、以前と同様に CVE-2023-3519 のみを対象とします。
| CVE | 説明 | 修正バージョン |
|---|---|---|
| CVE-2023-3519 | 未認証 RCE(スタックオーバーフロー) | 13.0-91.13 / 13.1-49.13 |
| CVE-2025-5349 / CVE-2025-5777 | 「CitrixBleed 2」 - メモリ漏洩 | 14.1-43.56 / 13.1-58.32 |
| CVE-2025-6543 | メモリオーバーフロー(Gateway)、実世界で悪用 | 14.1-47.46 / 13.1-59.19 |
| CVE-2025-7775 / CVE-2025-7776 / CVE-2025-8424 | 「CitrixBleed 3」 | 14.1-47.48 / 13.1-59.22 |
| CVE-2026-8452 | 認証前 SAML PrefixList ヒープオーバーフロー(SAML SP/IdP 設定が必要) | 14.1-72.61 / 13.1-63.18 |
| CVE-2026-88771 / CVE-2026-88772 | 認証前コマンドインジェクション / DTLS メモリオーバーフロー — 活発に悪用されており、CISA KEV に掲載 | 14.1-73.37 / 13.1-64.23 |
修正がリリースされる前に End-Of-Life に達したすべてのブランチ(11.1、12.1 非 FIPS/NDcPP、13.0)は、上記のすべての CVE に対して脆弱であると報告されます。FIPS/NDcPP ビルド(12.1-55.x、13.1-37.x)は、個別に公開された独自の修正ビルドと照合されます。
信頼できる公開文書化されたバージョンしきい値を持つ CVE のみが含まれています。CTX697096 および CTX696604 の勧告にある他のいくつかの CVE(例: CVE-2026-88773–88778)は、適用可能性を判断するために認証済みの設定検査を必要とするため、このパッシブスキャナの範囲外であることが意図されています。
Last-Modified ヘッダーパッチヒューリスティック:
https://github.com/telekom-security/cve-2023-3519-citrix-scannerプルリクエストを歓迎します。大きな変更については、まず issue を開いて変更内容について議論してください。
このプロジェクトは教育および倫理的なテスト目的のみで作成されています。事前の相互同意なしにターゲットを攻撃するために citrixInspector を使用することは違法です。適用されるすべての地方、州、および連邦法を遵守することはエンドユーザーの責任です。開発者は一切の責任を負わず、このプログラムによって引き起こされた誤用や損害について責任を負いません。
このプロジェクトは MIT License の下でライセンスされています。
Bryan Smith