Эксперимент Hacktron показал: через GNU Savannah можно было добраться до git-репозитория Bash и сервера резервных копий — цепочка из девяти уязвимостей, две из которых критичные.
Специалисты Hacktron обнародовали детали демонстрационной атаки на хостинг свободного кода GNU Savannah, которым до сих пор пользуются разработчики ряда инструментов GNU — в том числе Bash и Coreutils. В ходе теста им удалось выполнить код на сервере, получить root-доступ, подменить SSH-ключи сопровождающего Bash, найти способ вносить изменения в основной git-репозиторий проекта и пробраться на хост с резервными копиями. Об обнаруженном сразу уведомили администраторов Savannah, а в мае все проблемы закрыли.
Всего исследователи насчитали девять уязвимостей: две критические, четыре опасные, остальные — менее серьёзные. Первая критическая позволяла обойти аутентификацию при обращении к настройкам, доступным лишь администратору сайта (siteadmin/triggercreation.php). Вторая давала выполнение кода через специально составленный адрес email — из-за недостаточного экранирования спецсимволов. Достаточно было указать при регистрации адрес вида «a`touch${IFS}/tmp/savane-rce-proof`@example.com», а затем нажать в веб-интерфейсе кнопку проверки GPG-ключа: email подставлялся в командную строку gpg, которую вызывала PHP-функция proc_open().
Получив выполнение кода с правами веб-сервера, исследователи нашли в конфигурационном файле пароль к СУБД и через базу данных повысили свой зарегистрированный аккаунт с обычного пользователя до администратора. Админские права в веб-интерфейсе Savannah позволяли действовать от имени любого пользователя без ввода пароля. Этим и воспользовались: вошли как сопровождающий Bash и обнаружили возможность привязать собственный SSH-ключ к git-репозиторию — то есть отправлять коммиты в Bash от его имени.
Root на сервере добыли через уже известную уязвимость в ядре Linux, которое на машине не обновили: стоял Trisquel GNU/Linux 11 на базе Ubuntu 22.04 с ядром linux-libre 5.15. Использовали дыру в OverlayFS (CVE-2023-2640). Показательно, что исправление существовало с 2023 года, но Canonical оперативно закрыла проблему только в ядрах 5.19 и 6.2, а для 5.15 патч вышел лишь 7 мая 2026 года. С правами root исследователи нашли в системе SSH-ключ пользователя «gnubackup», открывающий беспарольный доступ к хосту с резервными копиями.
