| CVE | テクノロジー | タイプ | 影響を受けるコンポーネント |
|---|
CVE-2025-23419 | NGINX | 可能性のある mTLS 認証バイパス | 仮想ホストにおける TLS セッション再開 |
CVE-2025-23419 は、NGINX の複数の server blocks が同一 IP とポートを共有し、環境がクライアント証明書認証 (いわゆる mTLS) を使用しているシナリオに影響を与えます。
特定の構成では、攻撃者が以前に確立された TLS セッションを再利用して、別の仮想ホストコンテキストでのクライアント証明書認証要件を回避する可能性があります。
この脆弱性は、特に ssl_session_cache または ssl_session_tickets が有効になっている場合の TLS session resumption の使用に関連しています。
実際には、露出は、脆弱なバージョン、TLS 1.3 の使用、TLS セッション構成、複数の仮想ホスト、および環境の特定の部分での mTLS の適用の組み合わせに依存します。
公開されているアドバイザリによると、問題は以下に影響します:
NGINX 1.11.4 e versões posteriores
次の条件が存在する場合:
NGINX compilado com OpenSSL
TLS 1.3 habilitado
Session resumption habilitado
Uso de ssl_session_cache ou ssl_session_tickets
Múltiplos server blocks compartilhando o mesmo IP e porta
Autenticação mTLS/client certificate em algum virtual host
修正は以下のバージョンで公開されました:
NGINX 1.26.3
NGINX 1.27.4
したがって、次のようなバージョンは:
nginx/1.24.0
潜在的に脆弱として扱われるべきであり、構成シナリオも脆弱性と互換性がある場合に限ります。
重要:単独の脆弱なバージョンは悪用を確認するものではありません。構成の検証の必要性を示します。
| スクリプト | 目的 | 使用タイミング |
|---|---|---|
safe-check-CVE-2025-23419.py | CVE-2025-23419 への潜在的な露出に対する安全かつヒューリスティックなチェックを実行します。 | ターゲットが潜在的に脆弱な NGINX を公開しており、mTLS/TLS session resumption の使用が疑われる場合に使用します。 |
スクリプトは、脆弱性の兆候を収集するために安全な検証を実行します:
Server ヘッダーの特定を試みます。POSSIVEL または NAO_INDICADO を示す単純な出力を返します。このスクリプトは脆弱性を悪用しません。
以下のことは試みません:
目的は、トリアージと防御的検証をサポートするための技術的な兆候を収集することのみです。
次の兆候のうち 1 つ以上がある場合にこのスクリプトを使用してください:
Servidor expõe nginx/1.24.0
Ambiente utiliza mTLS
Existem múltiplos virtual hosts no mesmo IP e porta
Há uso de TLS 1.3
Há suspeita de ssl_session_cache ou ssl_session_tickets habilitados
Ferramenta automatizada apontou CVE-2025-23419
適切なターゲットの例:
https://api.exemplo.com.br/
https://admin.exemplo.com.br/
https://mtls.exemplo.com.br/
https://gateway.exemplo.com.br/
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/ --verbose
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/ --json
python3 safe-check-CVE-2025-23419.py https://exemplo.com.br/ --timeout 10
POSSIVEL
スクリプトが CVE-2025-23419 への潜在的な露出と互換性のある兆候を検出したことを示します。
これは悪用を確認するものではありません。環境が NGINX 構成の手動分析と担当チームによる検証に値することを意味します。
詳細出力の例:
POSSIVEL
nginx_header: nginx/1.24.0
nginx_ver: (1, 24, 0) (vuln? True)
mtls_hint: True
tls: TLSv1.3
resumption_reused: True
other_vhost_no_mtls_hint: True
これらのデータは、エンドポイントが潜在的な露出として分類された理由を理解するのに役立ちます。
NAO_INDICADO
スクリプトがそのエンドポイントで潜在的な露出を示す十分な兆候を検出しなかったことを示します。
これは脆弱性が絶対に存在しないことを保証するものではありません。特に以下の場合:
Server ヘッダーが非表示主な調整可能なポイントは次のとおりです:
CERT_ERROR_STATUS = {400, 401, 403, 495, 496}
このリストは、クライアント証明書がないか無効であることに関連するエラーを示す可能性のある HTTP コードを表します。
コマンドラインから timeout を調整することもできます:
--timeout 10
スクリプトは Python の標準ライブラリのみを使用します。
主な依存関係:
python3
ssl
socket
argparse
urllib
pip による外部ライブラリのインストールは必要ありません。
NGINX を修正済みバージョン(できれば 1.26.3、1.27.4 以上)に更新してください。使用中のチャネルに従ってください。
同一 IP とポートを共有する server blocks の構成を確認してください。特に、仮想ホストの一部のみで mTLS が使用されている場合。
以下を評価してください:
ssl_session_cache
ssl_session_tickets
TLS 1.3
server blocks compartilhando IP e porta
mTLS aplicado em virtual hosts específicos
また、クライアント証明書が必要なコンテキストを分離し、mTLS 認証が適切な仮想ホストで適用されていることを確認することをお勧めします。
さらに、プロキシ、ゲートウェイ、ロードバランサー、イングレスコントローラー、CDN の構成も確認してください。TLS を終端するコンポーネントが最終的なアプリケーション応答を行うものと同じでない可能性があるためです。
https://mailman.nginx.org/pipermail/nginx-announce/2025/NYEUJX7NCBCGJGXDFVXNMAAMJDFSE45G.html
https://nvd.nist.gov/vuln/detail/CVE-2025-23419
https://ubuntu.com/security/CVE-2025-23419
https://github.com/advisories/GHSA-84xh-pwc6-7g4g
https://access.redhat.com/security/cve/cve-2025-23419
このスクリプトは許可された環境でのみ使用してください。
目的は、トリアージ、安全な検証、許可されたペネトレーションテスト、防御的分析、および構成露出の確認を支援することです。
許可なくシステムに対して使用することは禁止されています。