org.sakaiproject.conversations:sakai-conversations-impl に クロスサイトスクリプティング (CVE-2026-54049)
概要
org.sakaiproject.conversations:sakai-conversations-impl に XSS (クロスサイトスクリプティング) (CVE-2026-54049) が存在。機密情報が外部に流出する可能性があります。POST /api/sites/{siteId}/topics 経由で攻撃可能。
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Summary
The Sakai Conversations tool stores topic and post messages without HTML sanitization, and the frontend renders them using LitElement's unsafeHTML() directive, resulting in stored cross-site scripting (XSS). Any authenticated user with access to a site that has the Conversations tool enabled can inject arbitrary HTML and JavaScript that executes in the browsers of all other users who view that topic or post.
Description
The Conversations REST API endpoint POST /api/sites/{siteId}/topics accepts a message field in the JSON request body. The service layer (ConversationsServiceImpl) stores the message directly to the database (conv_topics.MESSAGE) without invoking FormattedText.processFormattedText() or any equivalent HTML sanitizer.
The same issue affects post replies via POST /api/sites/{siteId}/topics/{topicId}/posts and comments stored in conv_comments.
On the frontend, SakaiTopic.js, SakaiPost.js, and SakaiComment.js all render the message field using LitElement's unsafeHTML() directive:
SakaiPost.jslines 429, 432:${unsafeHTML(this.post.message)}SakaiTopic.jsline 679:${unsafeHTML(this.topic.message)}SakaiComment.jsline 148:${unsafeHTML(this.comment.message)}
Unlike other Sakai tools (Announcements, Assignments, Resources) which call FormattedText.processFormattedText() before persisting user content, the Conversations implementation has no equivalent protection at storage time or render time.
###…
出典: GitHub Security Advisories (Global) NVD GitHub Advisory
自動生成の要約
取得元のデータ (CVSS・CWE・影響バージョンなど) から SecPulse が定型文で組み立てた要約です。AI は使っていません。正確な内容は下の原文と参照URLで確認してください。
org.sakaiproject.conversations:sakai-conversations-impl という製品で、CVE-2026-54049 という番号がついた弱点 (脆弱性) が見つかりました。
悪い人がインターネット越しに POST /api/sites/{siteId}/topics のような特定の入り口を狙うことで、製品の中を不正に操作できてしまいます。
機密情報が外部に流出する可能性があります。重要度は CVSS スコア 8.7/10 です。
対策: ベンダー公式の修正版に更新してください。
心配なら、システム担当者や製品の公式サイトで「org.sakaiproject.conversations:sakai-conversations-impl CVE-2026-54049」を検索してください。
CVE-2026-54049 (org.sakaiproject.conversations:sakai-conversations-impl) — CWE-79 / CVSS v3 8.7
攻撃ベクター: ネットワーク経由 (リモート攻撃可)
脆弱箇所: POST /api/sites/{siteId}/topics / POST /api/sites/{siteId}/topics/{topicId}/posts / POST /api/sites/BELP_275K_7418/topics / POST /api/sites/BELP_275K_7418/topics/e4c599c2-bd32-4364-9cbd-a5c9c102edfb/posts
対応方針: 1) SBOMで影響バージョン横断確認, 2) ステージング検証→本番更新, 3) WAF/プロキシで該当エンドポイントを監視, 4) ログでIOC調査。
参考: 当ページの『参照URL』の GHSA / vendor advisory / patched release を参照。
org.sakaiproject.conversations:sakai-conversations-impl に クロスサイトスクリプティング (XSS) (CWE-79) があります。攻撃者は POST /api/sites/{siteId}/topics を経由して脆弱な処理に到達できます。
org.sakaiproject.conversations:sakai-conversations-impl の影響バージョンはベンダーのアドバイザリで確認してください。攻撃箇所: POST /api/sites/{siteId}/topics / POST /api/sites/{siteId}/topics/{topicId}/posts / POST /api/sites/BELP_275K_7418/topics / POST /api/sites/BELP_275K_7418/topics/e4c599c2-bd32-4364-9cbd-a5c9c102edfb/posts。
重要度: 重要 (CVSS 8.7/10)。機密情報が外部に流出する可能性があります。
ベンダー公式アドバイザリの修正版に更新してください。
修正版が未提供時は、影響機能の無効化・WAFルール・ネットワークACLでの遮断を検討。
Webサーバ・プロキシ・WAFのアクセスログで POST /api/sites/{siteId}/topics への異常リクエスト (不正な認証ヘッダ、SQL構文)を検索。
対応アクション
SOC/SREチームが順番に実行すべき具体的なステップとコマンド例
-
1影響範囲の特定 identify
Audit SBOM/dependencies for affected components.資産台帳・SBOM・依存マニフェストで org.sakaiproject.conversations:sakai-conversations-impl を使っているサービスとバージョンを洗い出す。
-
2ログでの侵入兆候検索 detect
grep 'POST /api/sites/{siteId}/topics' /var/log/nginx/access.log | grep -E '(unusual_payload|sqli_pattern)'アクセスログで
POST /api/sites/{siteId}/topicsへの異常なリクエスト (不正な認証ヘッダ・SQLメタ文字)を過去 30〜90日分捜索。WAF/SIEM があれば該当パスのアラート発火履歴を確認。 -
3事後検証 verify
Replay attack against POST /api/sites/{siteId}/topics on staging to confirm patch closes the vectorパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番では Step 2 と同じログクエリでアラート再発が無いか継続監視。
影響パッケージ
参照URL
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com