Уязвимость GitHub позволяла угнать чужой репозиторий в обход защиты

Уязвимость GitHub позволяла угнать чужой репозиторий в обход защиты

Уязвимость GitHub позволяла угнать чужой репозиторий в обход защиты

Команда Checkmarx обнаружила брешь в защите облачного хостинга GitHub от клонирования репозиториев в рамках атак на цепочку поставок. Как оказалось, создать такой источник вредоносного кода все еще можно, притом легко — путем переименования.

Хранилища на GitHub получают уникальные URL, которые привязываются к аккаунту владельца. Когда пользователь меняет имя аккаунта, на веб-сервисе создаются редиректоры. В Checkmarx придумали, как угнать перенаправленный трафик, сломав логику редиректа, и назвали свой способ RepoJacking.

В итоге на GitHub появился дополнительный механизм защиты, отвечающий за удаление популярных, но устаревших пространств имен (связок имя пользователя / имя репозитория) — чтобы ими не воспользовались злоумышленники. Эта контрмера пускается в ход, когда недельная норма клонов opensource-проекта перевалит за сотню.

Как выяснилось, такую защиту от абьюзов можно обойти с помощью процедуры смены владельца репозитория. Захват чужих имен при этом выглядит следующим образом:

  • злоумышленник создает репозиторий с именем (условно repo), выведенным из обихода, но под другим аккаунтом, разрывая связку (например, вместо прежнего юзернейма victim использует helper);
  • helper_account передает репозиторий repo новому владельцу (attacker) в соответствии с принятым регламентом;
  • тот переименовывает свой аккаунт в victim;
  • новоявленный victim_account принимает запрос на передачу права собственности.

В итоге пространство имен victim/repo попадает под контроль авторов атаки — из-за того, что специализированная защита GitHub считает устаревшей только комбинацию юзернейм / имя репозитория. По словам Checkmarx, подобным образом можно угнать любой популярный софт, если его владелец менял имя пользователя.

Просмотр каталогов Go, Swift и Packagist выявил более 10 тыс. пакетов, находящихся в зоне риска. Оператор GitHub устранил опасную уязвимость в прошлом месяце — 19 сентября.

Новая 0-day MiniPlasma в Windows выдаёт SYSTEM даже после свежих патчей

Исследователь под ником Chaotic Eclipse, он же Nightmare Eclipse, выложил демонстрационный эксплойт (proof-of-concept) для новой 0-day уязвимости в Windows под названием MiniPlasma. Эксплойт позволяет локальному пользователю получить права SYSTEM даже на полностью обновлённой Windows 11 с майскими патчами 2026 года.

По данным BleepingComputer, опубликованы и исходный код, и готовый исполняемый файл.

Журналисты проверили PoC на актуальной Windows 11 Pro после майского набора патчей и получили командную строку с правами SYSTEM из-под обычной учётной записи. Работоспособность эксплойта также подтвердил аналитик Уилл Дорманн, хотя на свежей тестовой сборке Windows 11 Insider Preview баг, по его словам, уже не воспроизводится.

MiniPlasma, по словам автора, завязан на старую уязвимость в драйвере cldflt.sys — Windows Cloud Filter. Её ещё в 2020 году нашёл исследователь Google Project Zero Джеймс Форшоу, после чего Microsoft присвоила проблеме идентификатор CVE-2020-17103 и якобы закрыла её декабрьским обновлением. Но Chaotic Eclipse утверждает, что тот же самый баг всё ещё жив: то ли его так и не исправили, то ли патч где-то по дороге сломался.

Технически история крутится вокруг обработки создания ключей реестра через недокументированный API CfAbortHydration. В старом отчёте Project Zero указывалось, что проблема позволяет создавать произвольные ключи в пользовательском кусте .DEFAULT без нормальных проверок доступа. На практике это превращается в локальное повышение привилегий: обычный пользователь нажимает кнопку, а на выходе получает SYSTEM.

За последние недели тот же исследователь уже публиковал другие Windows-эксплойты: BlueHammer, RedSun, инструмент UnDefend, а также YellowKey и GreenPlasma.

Пока официального патча для MiniPlasma нет. Microsoft пока молчит, а администраторам остаётся следить за обновлениями.

RSS: Новости на портале Anti-Malware.ru