
Proof-of-concept и примечания к патчу для CVE-2026-96876 — отражённая XSS в сообщениях об ошибках экспорта MediaWiki Cargo, вместе со скриптом для проверки неэкранированного вывода исключений.
Автор отчёта: Marco Paciaroni (BomboBombone).
CargoExport выводил сообщения исключений без HTML-экранирования. Некоторые исключения содержали текст псевдонима поля из недоверенного источника, что позволяло выводу ошибки становиться исполняемой разметкой.
В записи CVE указано, что уязвимы версии Cargo вплоть до 3.9.4.
В исходном отчёте установлено, что анонимный доступ к уязвимому пути обработки ошибок возможен без сохранённой страницы или существующих данных Cargo. Жертва, открывшая специально сформированный запрос, могла выполнить скрипт в источнике вики с имеющимися у неё разрешениями.
В исходном отчёте зафиксировано выполнение в браузере из локального HTML-ответа с ошибкой. Запрос проверки не изменял состояние вики, а обычный контрольный запрос не создавал исполняемый элемент.
Изменение в upstream-коде выполняет HTML-экранирование сообщений исключений перед их выводом в ответе экспорта.
python poc.py https://wiki.example
Скрипт обращается к уязвимому пути обработки ошибок экспорта с безвредным DOM-маркером и сообщает, отражается ли маркер как элемент script.