Critical DNN Platform Vulnerability Let Attackers Execute Malicious Scripts
2025/09/24 gbhackers — DNN (DotNetNuke) プラットフォームの Prompt モジュールに、深刻な蓄積型クロスサイト・スクリプティング (XSS) の脆弱性 CVE-2025-59545 (CVSS v3.1:9.8:Critical) が発見された。この脆弱性を悪用する低権限の攻撃者は、特権ユーザーの権限で任意のスクリプト挿入/実行を可能にする。この脆弱性は、Daniel Valadas により、GHSA-2qxc-mf4x-wr29 として公開されたものであり、DotNetNuke.Core パッケージのバージョン 10.1.0 未満に影響を及ぼす。

DNN ベースの Web サイトを運営している組織にとって必要なことは、パッチ 10.1.0 を速やかに適用し、データ窃盗/セッション・ハイジャック/管理者権限の完全な乗っ取りを防ぐことである。
DNN の Prompt モジュールは、生の HTML を返すことが可能な、対話型のコマンド実行インターフェースを提供するものだ。
このプラットフォームは、ユーザーが送信する大半のデータを、入力フォームに表示する前にサニタイズするが、Prompt コマンドは標準的なサニタイズ・ルーチンをバイパスして、出力を HTML として処理してしまう。
したがって、認証済みのアカウントを持つ攻撃者であれば、埋め込まれたタグなどの有害なマークアップを隠し持つ入力を挿入できる。
その後に、この悪意のコンテンツが Prompt コマンドにより処理されると、生成された HTML が被害者のブラウザでレンダリングされ、スクリプトがスーパー・ユーザーのセキュリティ・コンテキストで実行される。
この脆弱性 CVE-2025-59545 は、Web ページ生成時の入力の、不適切な無効化 (CWE-79) に起因する。
動的 HTML レンダリング・パイプラインにおいて、対象となるアプリケーションが信頼できないデータを正しく処理できないため、持続的な XSS 攻撃の経路が生まれる。
この脆弱性の攻撃ベクターは、ネットワーク・ベースであり、複雑さは低く、権限やユーザー操作は最小限で済むが、その影響は機密性/整合性/可用性に及ぶ。
技術分析と影響
攻撃者が Prompt 入力を保存するフォームまたは、API エンドポイントを介して、悪意の JavaScript/HTML を隠し持つペイロードを送信すると、そのデータはシステムのデータベースに保存される。
その後特権ユーザーが、保存された入力を読み取って未処理の HTML として返す Prompt コマンドを実行すると、そこに埋め込まれたスクリプトを、ブラウザは解釈して実行する。
このシナリオは、認証トークンの盗難/昇格された権限による不正な操作/攻撃者が管理するドメインへのリダイレクトにつながる可能性がある。
通常、Prompt モジュールは、サイト管理者によるトラブル・シューティングやコンフィグ・タスクで使用されるため、このコンポーネントに XSS が存在することは、きわめて危険な状況を意味する。
攻撃者が試行できるシナリオには、管理者への成りすまし/サイト・コンテンツの改竄/ランサムウェアによるページの暗号化などがある。
さらに、この XSS をクロスサイト・リクエスト・フォージェリ (CSRF) などの脆弱性と連鎖させることで、攻撃者は DNN インスタンスを完全に侵害する可能性を手にする。
DNN は企業のイントラネットや公開 Web サイトで広く導入されているため、パッチが適用されていないインスタンスには、自動エクスプロイト・スキャンや標的型攻撃などの大きなリスクが生じる。
修正と推奨事項
DotNetNuke.Core バージョン 10.1.0 では、Prompt モジュールにパッチが適用され、レンダリング前のコマンド出力が、適切にエスケープ/サニタイズされる。
管理者にとって必要なことは、速やかなアップグレードによる、リスクの軽減である。この修正は、根本的なコードパスの発見と修正に協力した、bdukes と valadas と mitchelsellers によるレビューとコントリビューションによるものだ。この修正を適用するためには、以下の手順を実行する。
- プロジェクトの NuGet コンフィグで、DotNetNuke.Core パッケージをバージョン 10.1.0 以降に更新する。
- 更新されたバイナリを再デプロイし、サーバ側のキャッシュをすべてクリアする。
- 無害なスクリプト・ペイロードでテストし、Prompt コマンドが生の HTML を返さなくなったことを確認する。
- Prompt インターフェイスにおいて、過去の不正の使用についてログを確認し、侵害された可能性のある管理者の認証情報をローテーションする。
さらに、担当者にとって必要なことは、ユーザー・データから HTML を生成すると思われる他のモジュールについても、包括的なセキュリティ・レビューを実施することだ。
CSP (Content Security Policy) の適用や、予期しないコンテキストでスクリプト・タグを検出するための WAF ルールの実装により、多層防御を実現できる。
すべてのサードパーティ製コンポーネントを定期的に更新し、脆弱性スキャンを実行することは、同様の脆弱性の再発を防ぐためのベスト・プラクティスである。
脆弱性 CVE-2025-59545 の発見が示すのは、動的 HTML ジェネレーターにおける適切な出力エンコーディングと、厳格なコード・レビューの重要性である。
DNN プラットフォームを活用する組織は、このパッチを重要なものとして扱い、Web アプリケーションがスクリプト・インジェクション攻撃から保護されることを確認すべきである。
継続的な監視とタイムリーな更新は、モジュラー型の CMS において、堅牢なセキュリティ体制を維持するために不可欠なステップである。
DNN プラットフォームの Prompt モジュールに、蓄積型 XSS 脆弱性が発見されました。その原因は、ユーザー入力をサニタイズせずに HTML として処理してしまう設計にあります。そのため、悪意のコードがデータベースに保存され、特権ユーザーが操作した際にブラウザで実行される危険が生じます。その影響は、セッション乗っ取りや管理権限の奪取にまで及ぶため、入力処理の不備が重大な脆弱性へと直結した例といえると、この記事は指摘しています。よろしければ、DNN で検索も、ご参照ください。
You must be logged in to post a comment.