SonicOS の深刻な認証バイパスの脆弱性 CVE-2024-53704 が FIX:PoC もリリース

CVE-2024-53704 – Authentication Bypass in SonicOS: PoC Published

2025/01/30 SecurityOnline — 2025年1月の初めに SonicWall が公表したのは、多くの SSLVPN 対応アプライアンスで用いられる SonicOS に、深刻な認証バイパスの脆弱性が存在していることである。この脆弱性 CVE-2024-53704 の悪用に成功した、未認証のリモート攻撃者は、既存の VPN セッションを乗っ取りや、多要素認証 (MFA) のバイパスにより、内部ネットワークへの不正アクセスを可能にするという。

SonicWall のアドバイザリには、この脆弱性の公表時点では、悪用の形跡はないと説明されている。ただし、Bishop Fox のセキュリティ研究者たちは、CVE-2024-53704 に対する PoC エクスプロイトを提供している。

この脆弱性 CVE-2024-53704 は、SSLVPN セッション・クッキーにおける、安全が確保されない base64 デコードの欠陥から生じる、セッション・ハイジャックの脆弱性である。この脆弱性を悪用する攻撃者は、SSLVPN サーバを boolean blind oracle として悪用し、有効な VPN セッション・クッキーに対してブルートフォース攻撃を仕掛けられる。

Rapid7 の研究者たちは、「この脆弱性を悪用すると、未認証のリモート攻撃者による、既存の認証済みクライアント SSLVPN セッションの乗っ取りが生じる」と説明している。

この脆弱性が危険な理由は、有効なユーザー名やパスワードを必要とせず、MFA 保護も考慮されないところにある。つまり、攻撃者は、セッション・クッキーのプレフィックスを推測し、SonicWall の API の誤った検証チェックを悪用することで、有効なセッションを確認できるという。

この脆弱性は、SonicWall の SSLVPN 認証プロセスが、セッション・クッキーを処理する方法に起因する。セッション ID プレフィックスを体系的に推測する攻撃者は、検証メカニズムのロジックの欠陥を悪用して、有効な資格情報を確認できるようになる。

その攻撃は、以下の手順に従って行われる:

  • 有効なセッション ID プレフィックスを推測し、予想される長さまで値をヌル文字で埋める。
  • 部分的なセッション ID の、有効なチェックサムを計算する。
  • ペイロードを Base64 エンコードし、”/api/v1/client/sessionstatus” API エンドポイントに送信する。
  • サーバのレスポンスを確認する。一致が返された場合には、攻撃者は有効なセッション ID の一部を発見したことになる。
  • このプロセスを繰り返すことで、セッション ID 全体へのブルートフォース攻撃が成立する。

研究者たちがリリースした、脆弱性 CVE-2024-53704 に対する、Ruby による PoC エクスプロイト・コードは、被害者のセッションを抽出するためのものだ。

研究者たちは、「この手法を悪用する攻撃者は、すべての既存セッション ID に対して、迅速にブルートフォース攻撃を仕掛けられる」と指摘している。

有効なセッション ID を発見した攻撃者は、nxBender などの修正されたオープンソース VPN クライアントを悪用してセッションを乗っ取り、永続的な接続を確立できる。

すでに SonicWall は、パッチ適用済みファームウェア・バージョン SonicOS 7.1.3-7015 などをリリースし、セッション・クッキー検証ロジックを修正し、この脆弱性に対処している。

SonicWall SSLVPN で用いられる SonicOS の脆弱性 CVE-2024-53704 ですが、PoC が公開されました。この脆弱性の公表時点では悪用の形跡はないとのことですが、ご利用のチームは、十分に ご注意ください。よろしければ、SonicWall SonicOS で検索も、ご利用ください。