
リモートコード実行エクスプロイト CVE-2019-11043 を対象とした Nginx + php-fpm 向け。Go およびプリコンパイル済みエクスプロイトバイナリを含み、脆弱な構成のテスト用。
脆弱性の説明
Nginx 上の fastcgi_split_path_info は、%0a を含むリクエストを処理する際、改行文字 \n に遭遇すると PATH_INFO が空になります。そして php-fpm は PATH_INFO が空の場合、論理的な欠陥が存在します。攻撃者は巧妙な構築と利用により、リモートコード実行を引き起こす可能性があります。 nx 上の fastcgi_split_path_info は、%0a を含むリクエストを処理する際、改行文字 \n に遭遇すると PATH_INFO が空になります。そして php-fpm は PATH_INFO が空の場合、論理的な欠陥が存在します。攻撃者は巧妙な構築と利用により、リモートコード実行を引き起こす可能性があります。
影響範囲
Nginx + php-fpm のサーバーで、以下の設定を使用している場合、リモートコード実行の脆弱性が存在する可能性があります。
location ~ [^/].php(/|$) { fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_pass php:9000; ... } }
解決策
通常の業務に影響を与えない場合、Nginx 設定ファイルから以下の設定を削除します。
fastcgi_split_path_info ^(.+?.php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info;
2つのエクスプロイトが含まれています。1つはGo言語、もう1つはコンパイル済みのエクスプロイトです。
./phuip-fpizdam http://192.168.93.131:8080/index.php