
Apache HTTP Server 2.4.49のパストラバーサル(CVE-2021-41773)の概念実証エクスプロイト。CGIを介したファイル読み取りとリモートコード実行を可能にします。
2021年10月5日、Apache HTTP Server v2.4.49 に対するパストラバーサル攻撃を詳述するCVEが公開されました。CVE-2021-41773 という番号が割り当てられ、以下の説明とともに公開されました。
Apache HTTP Server 2.4.49 のパス正規化に加えられた変更に欠陥が見つかりました。攻撃者はパストラバーサル攻撃を使用して、想定されたドキュメントルート外のファイルに URL をマッピングする可能性があります。ドキュメントルート外のファイルが「require all denied」で保護されていない場合、これらのリクエストは成功する可能性があります。さらに (sic)、この欠陥により、CGIスクリプトなどの解釈されるファイルのソースが漏洩する可能性があります。この問題は実際に悪用されることが知られています。この問題は Apache 2.4.49 にのみ影響し、それ以前のバージョンには影響しません。
[+] CGI が有効でない Apache 2.4.49 では、ファイルを読み取ることしかできません。各パスセグメント内の . の 1 つを URL エンコードして、目的のファイルにアクセスするだけです。
[+] CGI が有効な Apache 2.4.49 モジュールが取得したファイルを実行しようとするため、CGI は問題を複雑にします。/etc/passwd のようなプレーンテキストの場合、これは問題になる可能性があります :)。コードを実行するには、ボディ内のコマンドを指定して sh または bash を呼び出すだけです。クライアントが結果の表示方法を認識できるように、Content-Type レスポンスヘッダーも出力する必要があることに注意してください。
[+] Apache 2.4.50 この特定の例はバージョン 2.4.50 で修正されました。ただし、修正は不完全であり、URL の二重エンコーディングを考慮できていませんでした。