Новости
Gitea: уязвимость в org-mode позволяла читать произвольные файлы сервера
Предыдущая уязвимость в Gitea: директива include в Org-mode файлах позволяла читать произвольные файлы на сервере без аутентификации.
CISA подтвердила 26 августа 2026 года активную эксплуатацию CVE-2026-60004 (CVSS 9.8) в платформе Gitea: злоумышленник с обычным доступом на запись к репозиторию может отправить специально подготовленный diff-файл и выполнить произвольные команды от имени операционной системы. Патч вышел в версии 1.27.1; дедлайн CISA для госорганов США — 28 августа 2026.

Коротко: CVE-2026-60004 в Gitea (CVSS 9.8) — уязвимость в endpoint diffpatch, позволяющая через дважды отправленный вредоносный патч-файл установить Git-хук и запустить код на сервере. Затронуты версии 1.17–1.27.0. Исправление — Gitea 1.27.1. CISA внесла уязвимость в каталог KEV; зафиксированы реальные атаки с развёртыванием майнера.
26 августа 2026 года Help Net Security и The Hacker News сообщили об активной эксплуатации CVE-2026-60004 — критической уязвимости в Gitea, самостоятельно размещаемой платформе управления Git-репозиториями. Уязвимость обнаружил исследователь Shai rod (NightRang3r); CISA добавила её в каталог Known Exploited Vulnerabilities (KEV), установив дедлайн для федеральных агентств США — 28 августа 2026 года.
Gitea широко используется организациями, которые хотят хранить исходный код на собственной инфраструктуре, а не в облаке. Это делает её особенно ценной целью: взлом Gitea-сервера означает доступ к репозиториям с исходниками, конфигами, секретами и CI/CD-пайплайнами. Затронуты версии от 1.17 до 1.27.0 включительно.
Уязвимость находится в endpoint diffpatch — механизме Gitea, обрабатывающем diff-файлы (патчи формата git diff / patch). При применении патча Gitea создаёт временный клон репозитория. В уязвимых версиях этот клон создавался как «голый» (bare) репозиторий, у которого нет рабочего дерева, а корневая директория совпадает с директорией .git.
Это означает, что файл hooks/post-index-change внутри переданного патча попадает непосредственно в директорию $GIT_DIR/hooks и становится активным Git-хуком. При повторной отправке того же патча хук срабатывает и выполняет вложенный в него код — от имени пользователя операционной системы, под которым работает процесс Gitea.
Gitea по умолчанию разрешает открытую регистрацию. Это значит, что атаку может провести полностью анонимный пользователь: зарегистрироваться, создать репозиторий, дважды отправить вредоносный патч — всё. Если ваш Gitea доступен из интернета с включённой регистрацией, риск максимален.
В версии 1.27.1 проблема устранена: временный репозиторий теперь создаётся как обычный клон с рабочим деревом, а не bare-репозиторий. Путь, по которому файл из патча мог стать Git-хуком, исключён.
Один из задокументированных инцидентов был описан на платформе Habr разработчиком, обнаружившим компрометацию своего самостоятельно размещённого Gitea-сервера. Последовательность атаки заняла около 11 секунд:
diffpatch.hooks/post-index-change из патча попал в директорию Git-хуков временного клона и был выполнен.Также сообщается об утечке данных: скомпрометированные конфигурационные файлы Gitea содержат токены OAuth, секреты приложений и учётные данные баз данных — всё, что Gitea использует для работы.
Под угрозой находятся все организации и частные лица, которые:
Хостинговые платформы (Gitea Cloud и аналоги) патч применяют самостоятельно; самостоятельный хостинг требует ручного обновления. Для того чтобы проверить актуальный список открытых Gitea-инстансов с интернет-адресами, исследователи из runZero применяли инструменты разведки сети — по их оценке, тысячи публичных установок Gitea не были обновлены в первые дни после публикации патча.
/api/v1/repos/.*/git/raw или нестандартной активности в разделе диффов и пулл-реквестов.В веб-интерфейсе Gitea версия отображается в подвале страницы. Через API: запрос GET /api/v1/version (без авторизации) возвращает JSON с полем version. Если значение ниже 1.27.1 — обновление необходимо немедленно.
CVE-2026-60004 — очередное напоминание о том, что файлы, которые принято считать безопасными по природе, могут быть опасны при их обработке уязвимым ПО. Diff-файл (патч) — это текстовый формат, описывающий изменения в исходном коде. Сам по себе он не исполняем, но становится оружием, когда парсер на принимающей стороне содержит ошибку.
Тот же класс уязвимостей мы видели в архиваторах, обрабатывающих символические ссылки и path traversal в ZIP и TAR, и в PDF-ридерах, выполняющих встроенный JavaScript. В каждом случае вектор атаки — файл «безопасного» формата, переданный на обработку уязвимому инструменту. О том, какие расширения и форматы файлов несут риск при обработке, подробнее — в нашем разделе карта опасных расширений и общем руководстве по безопасности файлов.