Denial-of-Service Vulnerability Found in Squid Proxy Server (CVE-2024-45802)
2024/10/29 SecurityOnline — 先日に Squid プロジェクトが発表したセキュリティ・アドバイザリによると、人気のオープンソースのキャッシュ・プロキシ・サーバである Squid に、サービス拒否 (DoS) の脆弱性 CVE-2024-45802 (CVSS:7.5) が発見されたとのことだ。帯域幅の削減や応答時間の改善といった、効率を向上させるために広く利用される Squid だが、特定のパラメータでコンフィグされた場合おいて、特に Edge Side Includes (ESI) 機能が有効化されている環境では、システムに混乱が生じ、深刻な侵害にいたる可能性があるという。

Web と Cach を高速化する際の定番である Squid は、HTTP/HTTPS/FTP などの複数のプロトコルをサポートし、Windows などの幅広いシステム上で動作する。今回のアドバイザリが警告するのは、「入力に対する不適切な検証/想定される期間を超えたリソースの解放/有効期間後のリソース解放の欠落といったバグにより、Squid はプロキシを使用する全クライアントは、信頼するサーバからの DoS 攻撃に対して脆弱である」という点である。
この問題が特に影響を与えるのは、ESI 機能が有効化されている状態 の Squid が、リバース・プロキシとして動作するコンフィグに対してとなる。この設定は、バージョン 3.0〜6.9 においては標準設定とされていた。このコンフィグでは、信頼されたサーバが脆弱性を悪用し、ESI レスポンス・コンテンツを処理する際に、DoS 攻撃の実行が可能となる。それにより影響が及ぶ範囲は、問題が発生している期間中に、このプロキシからサービスが提供された全ドメイン、および、その利用者である全クライアントである。
幸いにも、Squid バージョン 6.10 では、ESI をデフォルトで無効化にすることで、この脆弱性に対応している。このアドバイザリが推奨するのは、ユーザにおける影響の有無確認するための “squid -v” の実行である。Squid のバージョン 3.x/4.x/5.x および 6.0.1〜6.9 の場合において、出力に ‘–disable-esi‘ というテキストが含まれない限り、この脆弱性が存在することになる。また、バージョン 6.10 以降では、出力に ‘–enable-esi‘ というテキストが含まれている場合において、この脆弱性が存在すると判断できる。
Squid チームは、直ちにアップグレードができないユーザーに対して推奨するのは、完全なアップデートが可能になるまでの緩和策として、前述の ‘–disable-esi‘ フラグを使用して Squid を再構築することである。
この Squid の脆弱性ですが、コンフィグにおける Edge Side Includes (ESI) 機能の有効化/無効化の問題であり、バージョン 6.9/6.10 を境にして対処が異なるようです。ご利用のチームは、ご注意ください。よろしければ、Squid で検索も、ご参照ください。
You must be logged in to post a comment.