CVE-2025-67730 – 保存型クロスサイトスクリプティング (XSS)
概要
CVE ID: CVE-2025-67730
脆弱性タイプ: 保存型クロスサイトスクリプティング (XSS)
深刻度: 中~高 (状況依存)
この脆弱性により、認証済みユーザーがJob、Course、Batchフォームの説明フィールドに悪意のあるHTMLおよびJavaScriptを注入できる可能性がありました。注入されたペイロードは、その後影響を受けたJob、Course、Batchを閲覧したすべてのユーザーのブラウザで自動的に実行されます。
影響を受けるコンポーネント
- Jobの説明フィールド
- Courseの説明フィールド
- Batchの説明フィールド
影響
- 被害者のブラウザでの任意のJavaScriptの実行
- セッションハイジャック
- 認証情報の窃取
- アカウント乗っ取り (権限レベルに依存)
- DOM操作およびフィッシング
ペイロードは保存されるため、攻撃は持続し、侵害されたコンテンツを閲覧するすべてのユーザーに影響を及ぼします。
攻撃シナリオ
- 攻撃者は有効なユーザーアカウントでログインします。
- 攻撃者はJob、Course、またはBatchを作成または編集します。
- 説明フィールドに悪意のあるJavaScriptが挿入されます。
- ペイロードがデータベースに保存されます。
- 影響を受けるページを開いたユーザーがペイロードをトリガーします。
概念実証 (PoC)
">
再現手順:
- 任意の認証済みユーザーとしてログインします。
- Job / Course / Batchの作成または編集ページに移動します。
- 説明フィールドにペイロードを貼り付けます。
- フォームを保存します。
- 作成したJob / Course / Batchを開きます。
- ブラウザでJavaScriptが実行されます。
根本原因
- サーバーサイドのHTMLサニタイズの欠如または不十分さ
- ユーザー提供の入力の安全でないレンダリング
- テンプレートにおける出力エンコーディングの欠如
修正 / 緩和策
公式パッチ
実装されたセキュリティ改善
- 入力に対する適切なHTMLサニタイズ
- レンダリング前の安全な出力エンコーディング
- 実行可能なタグと属性の制限
推奨されるベストプラクティス
- 常にサーバーサイドでユーザー入力をサニタイズする
- コンテキスト (HTML、JS、URL) に基づいて出力エンコーディングを適用する
- 信頼できるHTMLサニタイザー (例: DOMPurify) を使用する
- コンテンツセキュリティポリシー (CSP) を実装する
タイムライン
- 報告者: Dharan Raghunathan
- ステータス: 修正済み
- パッチリリース: バージョン 2.42.0
謝辞
この問題はDharan Raghunathanによって責任を持って開示されました。
参考情報
免責事項
このドキュメントは教育および防御的なセキュリティ目的のみを対象としています。