
CVE-2026-96878 のレポートおよび概念実証。MediaWiki Cargo の Exhibit フィールドエイリアスにおける格納型 XSS で、検証メモと上流の修正への参照を含む。
報告者: Marco Paciaroni (BomboBombone)。
Cargo の Exhibit レンダラーは、フィールドエイリアスをテキストコンテキストおよび属性コンテキスト向けにエンコードせずに HTML プレゼンテーションへ挿入していました。ページ編集者は、ページが閲覧された際にエイリアスがマークアップとして解釈されるクエリを永続化できました。
CVE レコードでは、Cargo の 3.9.4 までが影響を受けると特定されています。
報告されたシナリオでは、Exhibit 形式、他のユーザーに表示されるページを編集する権限、および複数のフィールドを持つクエリが必要でした。スクリプトの実行は、そのページの訪問者のために wiki のオリジン内で発生しました。
元の報告には、ローカルの MediaWiki インスタンス上の Exhibit ビューからのブラウザでの実行が記録されています。通常のエイリアスでは、イベントを伴う要素は生成されませんでした。
アップストリームの変更では、Exhibit プレゼンテーションを HTML ヘルパーで構築し、エイリアスのテキストと属性値をそれぞれのコンテキストでエンコードするようにしています。
python poc.py TABLE FIELD_ONE FIELD_TWO
このスクリプトは、無害な DOM マーカーを含む Cargo Exhibit クエリを出力します。編集権限のあるテストページにのみ追加し、レンダリングされた Exhibit ビューを確認した後、削除してください。
公開されている CVE の説明では、現在この問題を反射型 XSS と分類しています。提出された報告は、編集可能なページコンテンツに永続化され、その後のページ閲覧によってトリガーされるクエリを記述しています。本報告は、CVE レコードを変更することなく、その保存型のシナリオを記述したものです。