Squid の脆弱性 CVE-2024-25617 が FIX:クラッシュ/サービス停止の可能性

Protect Your Web Services: Mitigate Squid DoS Vulnerability (CVE-2024-25617)

2024/02/15 SecurityOnline — 広く使用されている Web Proxy/Caching サーバである Squid に、深刻度の高いサービス拒否 (DoS) 脆弱性 CVE-2024-25617 が存在していることが判明した。この脆弱性の悪用に成功した攻撃者は、Squid サーバをクラッシュさせ、重要な Web サービスを中断させ、ネットワーク全体を危険にさらす可能性がある。

脆弱性

この問題は、Squid においてサイズの大きい HTTP ヘッダを処理する際の、バグに起因しているという。つまり、巨大なヘッダを取り込むように細工された、HTTP リクエストを送信することで、攻撃者は Squid のコード内で “Collapse of Data into Unsafe Value:安全ではない値へ向けたデータの崩壊” と呼ばれる状態を引き起こせるとされる。

それによりクラッシュが発生し、Squid サーバが利用できなくなる。この脆弱性 CVE-2024-25617 の深刻度は CVSS 値 8.6 と評価されており、サービスの中断を招く危険性が高いことが示唆される。

Squid のアドバイザリには、「この問題により、HTTP メッセージで巨大なヘッダが送信される際に、リモート・クライアントまたはリモート・サーバが、サービス拒否を引き起こすようになる」と記されている。

誰が影響を受けるのか?
  • デフォルトの “request_header_max_size” および “reply_header_max_size” 設定を持つ、Squid バージョン3.0~6.4 に脆弱性が存在する。
  • Squid バージョン 3.0〜6.4 において、これらの設定のいずれかが、21KB を超える場合に問題が発生する。
  • Squid 6.5 以降のバージョンは、デフォルト値で使用する際には安全だが、これらの設定を手動で 64KB 以上にすると、脆弱になる可能性がある。
リスクの確認方法

以下のコマンドを使用すれば、Squidサーバの設定を素早く確認できる:

squid -k parse 2>&1 | grep header_max_size

出力を解釈すれば、緊急の対応の必要性について確認できる。

緊急アクション

アップグレードまたはパッチの適用:

  • 最善の解決策は、ハードニング対策が施されている、Squid バージョン 6.5 以降へのアップグレードである。
  • 直ちにアップグレードを実行できない場合には、Squid パッチ・アーカイブから適切なパッチを適用する。

アップグレードしない場合のセーフ設定:

  • 6.5より古いSquid 6.5 以前の “squid.conf” に以下の行を追加する
  • request_header_max_size 21 KB
  • reply_header_max_size 21 KB

Squid 6.5 以降における確認:

squid.conf 内の設定が 64KB 以下に保たれていることを確認する。

対策が重要な理由

DoS 攻撃が発生すると、Squid を使用したサービスがオフラインにされるだけではなく、ネットワーク内で混乱を招く可能性がある。システムの可用性とセキュリティを維持するためには、積極的なパッチ適用と安全な設定が不可欠である。