
CVE-2026-96874 の概念実証およびパッチ検証に関するメモ。これは MediaWiki Cargo Drilldown のタブラベルが生の HTML としてレンダリングされることによる格納型 XSS である。
報告者: Marco Paciaroni (BomboBombone)。
CargoはDrilldownタブのラベルをページメタデータに保存し、それを生のHTMLとしてレンダリングしていました。テンプレート編集者が制御できるラベルは、Drilldownページが表示された際に実行可能なマークアップになる可能性がありました。
CVEレコードでは、Cargo 3.9.4までが影響を受けると特定されています。
攻撃者には、Cargoを宣言するテンプレートを編集する権限が必要でした。公開Cargoクエリが有効な場合、影響を受けるDrilldownページへの訪問者には匿名ユーザーや特権アカウントが含まれる可能性がありました。スクリプトの実行はwikiのオリジン内で発生しました。
元の報告書には、通常のアカウントによるテンプレート編集と、匿名訪問時のブラウザでの実行が記録されています。通常のラベルに戻すと、観測された挙動は解消されました。
上流の変更では、ラベルを生のHTMLとして受け入れる代わりに、テキストエスケープを行うHTMLヘルパーを使用してタブリンクラベルをレンダリングするようになりました。
python poc.py ExistingCargoTable Name --wiki https://wiki.example
このスクリプトは、無害なDOMマーカーを含むCargo宣言と、対応するDrilldown URLを出力します。編集権限を持つテスト用テンプレートにのみ適用し、その後で元の宣言に戻してください。