Nginx-poolslip脆弱性がサーバーをDoS攻撃とコード実行攻撃にさらす

NGINXユーザーは、F5が新しい脆弱性を公開した後、重大なセキュリティ上の問題に直面しています。この脆弱性はCVE-2026-9256として追跡され、広く使用されているngx_http_rewrite_moduleに影響を与えています。

「Nginx-poolslip」と名付けられたこの欠陥により、攻撃者はサービス拒否(DoS)条件をトリガーし、特定の条件下ではリモートコード実行を実現できます。

Nginx-poolslip脆弱性

この問題は、書き換えディレクティブ内のPCRE(Perl互換正規表現)のキャプチャグループの重複処理が不適切なことに起因しています。

設定が^/((.*))$のような曖昧な正規表現パターンを使用し、$1$2のような複数のバックリファレンスと組み合わせられると、メモリ破損が発生します。

これにより、NGINXワーカープロセス内でヒープベースのバッファオーバーフロー(CWE-122)が発生します。攻撃者は、認証を必要とせずに特別に細工されたHTTPリクエストを送信することで、この欠陥を悪用できます。

  • サービス拒否(DoS)ワーカープロセスのクラッシュと再起動による
  • 潜在的なリモートコード実行、特にASLRなどの保護が無効化または回避されている場合
  • 高トラフィック本番環境でのサービスの不安定性

脆弱性はデータプレーンのみに影響し、コントロールプレーンを公開しませんが、その遠隔悪用可能性により、インターネットに面したシステムにとって深刻なリスクとなります。

この脆弱性にはCVSS v3.1スコア8.1(高)およびCVSS v4.0スコア9.2(致命的)が割り当てられており、実世界の展開における潜在的な重大性を反映しています。

影響を受けるバージョン

この欠陥はNGINX Open SourceとNGINX Plusの両方の導入に影響します:

  • NGINX Open Source: バージョン1.0.0から1.30.1
  • 修正: 1.30.2および1.31.1
  • NGINX Plus: バージョン37.0.0
  • 修正: 37.0.1.1

NGINX Ingress Controller、NGINX App Protect、NGINX Gateway Fabricを含む複数のNGINXベースの製品も、共有の基本コンポーネントの影響を受けています。

注目すべきことに、BIG-IP、BIG-IQ、F5 Distributed CloudサービスなどのF5製品は影響を受けません。

脆弱性は、書き換えルールが名前のない重複するキャプチャグループを使用する場合にトリガーされます。リクエスト処理中、不適切なメモリ処理によりヒープ上での範囲外書き込みが発生します。

脆弱な設定の例:

  • rewrite ^/users/([0-9]+)/profile/(.*)$ /profile.php?id=$1&tab=$2 last;

名前付きキャプチャを使用したセキュアな代替案:

  • rewrite ^/users/(?<user_id>[0-9]+)/profile/(?<section>.*)$ /profile.php?id=$user_id&tab=$section last;

この変更により曖昧さが排除され、安全でないメモリ操作が防止されます。

対策と推奨事項

組織は以下を強く推奨されています:

  • すぐにパッチ済みバージョンにアップグレードする
  • 書き換えルールの安全でない正規表現パターンを監査する
  • 名前のないキャプチャグループを名前付きキャプチャに置き換える
  • 可能な限りASLRなどの悪用軽減策を有効にする
  • 異常なリクエストパターンまたは繰り返されるワーカークラッシュのログを監視する

脆弱性は研究者Mufeed VH(Winfunc Research)、Nebula Security、およびVexera AIによって責任を持って開示されました。

Webインフラストラクチャでのngxの広範な使用を考えると、潜在的な野生での悪用を防ぐためには、迅速なパッチ適用と設定のレビューが不可欠です。

翻訳元: https://gbhackers.com/nginx-poolslip-flaw-exposes-servers/

ソース: gbhackers.com