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