
CVE-2025-31864のPoC
WordPress プラグイン
コンポーネント名 Beam me up Scotty – Back to Top Button
脆弱性バージョン <= 1.0.23
コンポーネントスラッグ beam-me-up-scotty
コンポーネントリンク https://wordpress.org/plugins/beam-me-up-scotty/
脆弱性クラス A3: Injection
脆弱性タイプ Cross Site Scripting (XSS)
管理者
Beam me up Scotty プラグインのバージョン 1.0.23 以下では、「トップに戻るボタン」のカスタマイズ設定に対するデータ型の検証とエスケープ処理が不十分であるため、格納型クロスサイトスクリプティングの脆弱性が存在します。
これらのカスタマイズ設定は管理者権限を持つユーザーのみアクセス可能であり、管理者権限を持つ攻撃者がこの脆弱性を悪用した場合、「トップに戻るボタン」が表示されるすべてのページの訪問者がクロスサイトスクリプティング攻撃にさらされることになります。
Beam me up Scotty プラグイン バージョン 1.0.23 以下がインストールされ有効化された WordPress サイトを用意します。
「トップに戻るボタン」をカスタマイズするメニュー (/wp-admin/themes.php?page=beam-me-up-scotty_settings) に移動します。

プロキシツール(例:BurpSuite)のインターセプトを有効にした状態で、「トップに戻るボタン」設定メニュー下部の「保存」ボタンをクリックし、「トップに戻るボタン」カスタマイズ設定を保存するリクエストパケットをインターセプトします。

リクエストペイロード内の beam_me_up_scotty_bottom_indentation の値を次のように変更し、Forward を実行します。
20px;}</style><script>alert("XSS")</script><style>foo{bottom:0

WordPress サイトにアクセス後、XSS 脆弱性が発生することを確認できます。


Beam me up Scotty プラグインは、ファイル /wp-content/plugins/beam-me-up-scotty/library/includes/dynamic-css.php を実行して「トップに戻るボタン」のカスタマイズ設定を適用します。
このファイルは、カスタマイズ設定を style タグ内の「トップに戻るボタン」のスタイル属性値として設定します。このとき、「トップに戻るボタン」のカスタマイズ設定がエスケープ処理されずに style タグ内で参照されていることを確認できます。

したがって、PoC で示したように、XSS 攻撃スクリプトを含むペイロード beam_me_up_scotty_bottom_indentation が入力された場合、その値がエスケープ処理されずに「トップに戻るボタン」のスタイル属性値として参照されるため、スクリプトが実行されることを確認できます。

結果として、WordPress サイトにアクセスすると、以下の HTML コードを確認できます。
