
CitrixBleed-2 (CVE-2025-5777) – NetScaler ADC/Gateway「メモリ出血」の概念実証エクスプロイト
CVE-2025-5777 は、Citrix NetScaler ADC/Gateway(Gateway モードまたは AAA vServer モード)における、認証不要の重大な領域外読み取り脆弱性です。単一の細工されたリクエストにより、セッショントークンを含むメモリをダンプでき、認証バイパスを完全に可能にします。そのため、「CitrixBleed 2」というあだ名が付けられています。
パッチが適用されたビルドは、2025年6月17日に公開されました:
パッチ未適用のシステムに対する公式の緩和策は存在しません。
このGitHubリポジトリで提供される情報は、教育目的のみを意図しています。本GitHub上のすべての情報は誠意をもって提供されていますが、情報の正確性、十分性、有効性、信頼性、可用性、または完全性について、明示または黙示を問わず、いかなる表明も保証も行いません。このコードは教育および防御目的でのみ公開されています。テストする前に、ターゲットを所有しているか、明示的な許可を得ていることを確認してください。PoCはライブメモリを漏洩します。可能な限りテストアプライアンスで実行してください。
このスクリプトはPython3とurllibライブラリが必要です。 脆弱性をテストする場合は、非本番システムでのみ行ってください。
python CVE-2025-5777.py <target.host>
ns_log_scanner.py スクリプトを使用すると、HEX範囲 0x20 から 0x7F(ASCII)または 0x09、0x0A、0x0D(水平タブ、LF、CR)以外の文字(バイナリの可能性があるもの)を検出できます:
python ns_log_scanner.py /var/log/ns.log # (サンプルパス)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
msg:"doAuthentication bare-login exploit";
flow:established,to_server;
http_method; content:"POST"; nocase;
http_uri; pcre:"/\/p\/u\/doAuthentication\.do(?:[\/\?]|$)/Ui";
http_header; pcre:"/Content-Length\s*:\s*[1-9]\d{0,2}/Hi";
# ‼ Bare “login” – next char must NOT be '='
http_client_body; pcre:"/\blogin(?!\s*=)/i";
classtype:web-application-activity;
sid:1001003; rev:1; metadata:service http;
)
config ips custom-signature
edit "DoAuthentication_BareLogin"
set severity medium
set default-application signature
set service "HTTP"
set direction clienttoServer
set pattern "GETPOST \/p\/u\/doAuthentication\.do[\/\?]?.*Content-Length:\s*[1-9][0-9]{0,2}.*\blogin(?!\s*=)"
next
end
著者 : Mischa Rick van Geelen (@rickgeex)
会社 : Anovum B.V.
連絡先: [email protected]