報告者: Marco Paciaroni (BomboBombone)。
Cargo は、Drilldown のパンくずリストに全文検索語を HTML エスケープせずに表示していました。そのため、検索入力が結果ページ内で実行可能なマークアップになり得ました。
CVE レコードでは、Cargo の 3.9.4 までが影響を受けると特定されています。
この問題は、全文ページインデックスが有効になっていること、および結果が影響を受ける表示に到達する公開クエリ可能なテーブルが存在することに依存していました。匿名の攻撃者が、被害者が開いた際にスクリプトを実行するリクエストを用意できる可能性がありました。
元の報告では、パンくずリストからのローカルブラウザでの実行と、実行可能な要素を伴わずにレンダリングされる通常のコントロールが記録されています。
アップストリームの変更では、表示される全文検索語をパンくずリストに追加する前にエスケープするようにしています。
python poc.py https://wiki.example TABLE SEARCH_TERM
テーブルは Cargo の全文ページインデックスを使用している必要があり、指定した検索語はページ本文と一致する必要があります。このスクリプトは、パンくずリストにエスケープされていない無害なマーカーが含まれているかどうかを報告します。