重要情報サマリー 基本情報 製品: GreenCMS バージョン: 2.3.0603 脆弱性タイプ: ストレージ型クロスサイトスクリプティング(Stored XSS) 発見者: b1uel0n3 CVSSスコア: 6.5 中程度 (CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:H/I:H/A:N) 脆弱性情報 説明: GreenCMS 2.3.0603 のバージョンにおいて、メニューエディタ内の「Link」パラメータの入力検証が不十分であるため、ストレージ型クロスサイトスクリプティング(XSS)脆弱性が存在します。 関数が使用されていますが、 フラグが欠落しているため、シングルクォート(')がエスケープされず、悪意のある JavaScript のインジェクトが可能になります。 影響を受けるコンポーネント: 脆弱なコンポーネント: 管理パネル内のメニュー編集機能 脆弱なファイル: 脆弱なパラメータ: Linkパラメータ 技術分析と概念実証 根本原因: コード内で が使用されていますが、 が使用されていないため、シングルクォートがエスケープされません。 概念実証 (PoC): 1. GreenCMS 管理パネルにログインします。 2. 移動先: 管理 → カスタム管理 → メニュー管理 3. メニューアイテムを作成または編集します。 4. 「Link」パラメータに以下を挿入します: 5. メニューアイテムを保存します。 6. フロントエンドのメニュー表示画面へ移動します。 7. 注入されたメニュー項目にマウスを乗せて XSS をトリガーします。 攻撃ペイロードの例 基本的なXSS実証: Cookie窃盗ペイロード: リダイレクトペイロード: エンコード文字を用いた高度なペイロード: 影響評価 直接影響: セッションハイジャック: 管理者のセッションCookieの盗難 認証情報の窃取: ログイン資格情報の窃取 不正な行動: 被害者の身元を装った管理オペレーションの実行 改ざん: Webサイトコンテンツの改変 攻撃経路: 管理者権限を持つ認証済み攻撃者 ペイロードがデータベースに保存され、持続的に機能します。 メニューが閲覧された際に実行されます。 追加の権限は不要で、基本的な管理者権限のみが必要です。 修正方針 即時修正: 内の脆弱なコードを変更します。 追加のセキュリティ対策: コンテンツセキュリティポリシー(CSP)の実装 URL形式の入力検証の追加 データベース操作におけるプリペアードステートメントの使用 * 定期的なセキュリティ監査の実施 参考資料 GreenCMS公式サイト:http://greencms.com VulDB:http://vuldb.com