Неудостоверен атакуващ може да прочете всеки файл, до който има достъп системният акаунт на Gitea – самохостваната Git платформа – във версии от 1.22.1 до 1.27.0 включително. Не е необходимо влизане в системата, нито права за запис в хранилището. Публично хранилище и специално създадено Org-mode маркиране са напълно достатъчни. Уязвимостта е отстранена в Gitea 1.27.1.
Проблемът с четенето на файлове се проследява като CVE-2026-59774, оценен е като критичен с CVSS резултат 9.8 и получи официално становище за сигурност на 2 август. В Gitea 1.27.1 също така се отстранява уязвимост CVE-2026-60004 – отделен бъг за отдалечено изпълнение на код, разгледан в предишен доклад на THN.
От Gitea заявиха, че облачните инстанции ще бъдат надградени автоматично по време на прозореца за поддръжка на версията. Администраторите на самохоствани среди трябва незабавно да преминат към версия 1.27.1.
Уязвимостта за четене на файлове не води до директно отдалечено изпълнение на код с една заявка. От Gitea обясняват, че тя може да се превърне в изпълнение на команди, ако атакуващ прочете „app.ini“, извлече „INTERNAL_TOKEN“, инжектира Git кука (hook) чрез вътрешния логър и задейства тази кука по време на анонимно клониране.
Тази верига е описана в становището на Gitea; медията The Hacker News не откри независимо публикуван експлойт, който да я демонстрира.
Надграждането е необходимо, но може да не е достатъчно след предполагаемо излагане на риск. Ако регистрационните файлове (logs) показват, че крайната точка за маркиране е била достъпена при засегната компилация, разглеждайте идентификационните данни, четими от системния акаунт на Gitea, като компрометирани. Променете вътрешния токен, OAuth материалите, JWT материалите за подписване и идентификационните данни за базата данни, преди да считате инстанцията за чиста.
Пътят за четене на файлове преминава през крайната точка за рендиране на маркиране на Gitea: „POST /{owner}/{repo}/markup“. Маршрутът позволява незадължително влизане, идентифицира хранилището и проверява достъпа за четене. Анонимна заявка преминава успешно тази проверка срещу всяко публично хранилище с активиран кодов модул. Това предварително условие ограничава излагането на риск за неудостоверени потребители: инстанция без публични хранилища няма анонимен път за атака през тази крайна точка.
Пробивът е в Org-mode рендерера на Gitea. Gitea 1.27.0 инициира „go-org“ с „org.New()“ и не подменя подразбиращата се функция за обратно повикване „ReadFile“ на библиотеката. В „go-org 1.9.1“ тази функция е „ioutil.ReadFile“. Директивата „#+INCLUDE“ на Org-mode приема абсолютни пътища и ги предава на функцията. Атакуващият изпраща Org-mode маркиране, избира „Mode: file“ и получава файловете, които системният акаунт може да чете.
Корекцията за сигурност бе внедрена в PR #38642 и бе пренесена в PR #38645. Сега Gitea презаписва „ReadFile“, така че пътят за включване в Org-mode се връща като обикновено рендирано съдържание, вместо да се извлича от файловата система на сървъра. Обновяването добави и регресионен тест за рендиране на пътя за включване.
CVE-2026-59774 бе открита от XBOW Security – автономна система за офанзивна сигурност – и бе анализирана от Гуидо Лео. Шай Род, известен онлайн като NightRang3r, независимо докладва за същия проблем.
Какво трябва да проверят администраторите
Gitea не публикува официални насоки за откриване в своето становище. Прегледайте анонимните POST заявки към „/{owner}/{repo}/markup“, особено тези, които избират Org-mode рендиране или изпращат абсолютни пътища към файловата система. Ако е направен опит за ескалация по описания в становището път, проверете директориите с куки (hooks) на хранилището за неочаквани изпълними файлове.
Становището на Gitea не съобщава за експлоатация в реална среда и към 5 август 2026 г. CVE-2026-59774 не фигурира в каталога с известни експлоатирани уязвимости на CISA. Методът за четене на файлове е бил публично демонстриран преди официалното му обявяване, според предишен доклад на THN. Веригата за изпълнение на команди от токен към кука остава с единствен източник становището на Gitea.
Тази уязвимост следва интензивен период на работа по сигурността на Gitea. През юни Gitea коригира критично заобикаляне на удостоверяването при обратен прокси сървър в Docker изображения (CVE-2026-20896), като бе забелязано злонамерени субекти да го сканират 13 дни след разкриването му. През май уязвимост в контрола на достъпа до контейнерния регистър (CVE-2026-27771) засегна по оценки над 30 000 внедрявания в повече от 30 държави.