VMTech
Обсудить проект

Gitea закрыла критическое чтение файлов без авторизации в версии 1.27.1

Gitea закрыла критическое чтение файлов без авторизации в версии 1.27.1

В Gitea версий 1.22.1–1.27.0 обнаружили критическую уязвимость CVE-2026-59774: неавторизованный пользователь мог прочитать любой файл, доступный сервисной учётной записи платформы. Для атаки было достаточно публичного репозитория с включённым разделом кода и специально подготовленной разметки Org-mode. Уязвимость получила 9,8 балла по шкале CVSS и исправлена в Gitea 1.27.1.

Как работала уязвимость

Путь к файлам проходил через конечную точку рендеринга разметки POST /{owner}/{repo}/markup. Она допускает запрос без входа, определяет репозиторий и проверяет право чтения. Для публичного репозитория с включённым разделом кода анонимный запрос проходил эту проверку.

Причиной стал обработчик Org-mode. В Gitea 1.27.0 библиотека go-org инициализировалась через org.New(), а стандартная функция ReadFile не заменялась. В go-org 1.9.1 она обращалась к ioutil.ReadFile. Директива #+INCLUDE принимала абсолютные пути и передавала их обработчику, поэтому выбранный в режиме file документ возвращал содержимое файла с сервера.

Исправление вошло в запросы на изменение #38642 и #38645. Теперь Gitea переопределяет ReadFile: путь из директивы включения отображается как обычный текст, а не разрешается относительно файловой системы. Разработчики также добавили регрессионный тест.

Риск выхода за пределы чтения файлов

Сам дефект не обеспечивает выполнение кода одним запросом. Однако Gitea описала возможную цепочку: злоумышленник читает app.ini, извлекает INTERNAL_TOKEN, внедряет Git-хук через внутренний журнал и запускает его при анонимном клонировании. Независимо опубликованного эксплойта, подтверждающего эту последовательность, в материале не приводится.

Сценарий соответствует модели, в которой заимствованные доверенные данные и механизмы помогают атакующему развить первоначальный доступ к секретам до более серьёзного воздействия. При этом Gitea не сообщала об эксплуатации CVE-2026-59774, а на 5 августа 2026 года уязвимость отсутствовала в каталоге CISA Known Exploited Vulnerabilities.

Что проверить администраторам

Облачные экземпляры Gitea должны обновляться автоматически во время окна обслуживания. Владельцам самостоятельных установок необходимо перейти на версию 1.27.1. Этот выпуск также устраняет отдельную уязвимость удалённого выполнения кода CVE-2026-60004.

  • Проверить анонимные POST-запросы к /{owner}/{repo}/markup, особенно с Org-mode и абсолютными путями.
  • Осмотреть каталоги хуков репозиториев на наличие неожиданных исполняемых файлов.
  • При признаках обращения к уязвимой конечной точке считать доступные Gitea секреты раскрытыми.
  • Сменить INTERNAL_TOKEN, данные OAuth, материалы подписи JWT и учётные данные базы.

Обновление закрывает техническую причину, но при возможной компрометации его недостаточно. Практический вывод для бизнеса — совместить установку Gitea 1.27.1 с анализом журналов и ротацией секретов, если уязвимый обработчик мог получить вредоносный запрос.

#gitea#cybersecurity#devsecops#vulnerability
Открытая аналитика
На сайте 1 просмотров
мин чтения 3 05.08.2026
Instagram

Gitea закрыла критическое чтение файлов без авторизации в версии 1.27.1

Открыть публикацию в Instagram ↗