Уязвимость 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 сентября.

Найден способ вернуть старый быстрый WhatsApp в Windows 10 и 11

В этом месяце разработчики перевели WhatsApp (принадлежит Meta, признанной экстремистской и запрещенной в России) для Windows на рельсы прогрессивного веб-приложения — и, судя по реакции пользователей, сделали это зря. Reddit, форумы и соцсети быстро наполнились жалобами: новый клиент прожорлив к ресурсам, работает нестабильно и в целом ощущается как шаг назад по сравнению со старым нативным приложением.

Особенно много негатива досталось версии UWP, которую Meta (признана экстремистской и запрещена в России) убрала из Microsoft Store.

Да, идеальной она не была, но работала быстрее, потребляла меньше памяти и в целом выглядела как «настоящая» Windows-программа, а не обёртка вокруг веб-версии. Неудивительно, что пользователи массово просят вернуть старый клиент.

Официального способа откатиться назад, конечно, нет. Но, как выяснилось, полностью закрыть эту дверь Meta всё же не успела.

Энтузиасты нашли способ установить последнюю UWP-версию WhatsApp вручную. Для этого потребуется две вещи: установочный файл старого клиента и временно отключённые обновления Microsoft Store. Второй пункт критически важен — иначе Windows тут же обновит приложение до новой PWA-версии, и вся затея пойдёт насмарку.

Кратко схема выглядит так:

1. Удалить текущий WhatsApp. Если приложение уже установлено — удалите его через контекстное меню.

2. Отключить автообновления Microsoft Store. Зайдите в Microsoft Store → профиль → Параметры магазина и выключите Автоматические обновления. При запросе выберите максимальную паузу — 5 недель.

 

3. Скачать установщик старой версии. Речь идёт о MSIXBUNDLE-файле последней UWP-версии WhatsApp, который был сохранён до удаления приложения из магазина. Его нельзя скачать напрямую из Microsoft Store — Meta убрала все старые версии.

Важно: файл сторонний, так что перед установкой стоит проверить цифровую подпись. Если не доверяете источнику — лучше не рисковать.

4. Установить приложение вручную. Достаточно дважды кликнуть по файлу и нажать «Установить».

После этого на устройстве снова появится старый нативный WhatsApp для Windows — быстрый, привычный и без веб-начинки.

Способ временный. Через пять недель Microsoft Store автоматически включит обновления и попытается обновить все приложения, включая WhatsApp. Тогда процедуру придётся повторить заново — если, конечно, старый клиент к тому моменту всё ещё будет работать.

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

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