Сигурност

Редакция Overclock.bg ·

Критична дупка в Gitea качва криптомайнери

Критична дупка в Gitea качва криптомайнери

CISA добави на 25 август уязвимостта CVE-2026-60004 в Gitea към каталога си с активно експлоатирани дупки и даде на федералните агенции в САЩ срок до 28 август да закърпят. Става дума за отдалечено изпълнение на код с оценка 9.8 по CVSS, а първият документиран случай на реална атака завършва с дропър, който качва криптомайнер на компрометирания сървър. Ако поддържате самохоствана инстанция на Gitea, версия под 1.27.1 вече не е приемлив риск.

Какво точно е счупено

Проблемът е в endpoint-а diffpatch — функцията, която позволява да приложите patch файл към хранилище направо през уеб интерфейса.

Gitea прави bare clone във временна директория и оставя Git да приложи patch-а. Когато един и същ patch бъде подаден два пъти, се получава add/add колизия и Git минава към тристранно сливане. В този режим той изчита файла на диска — включително път като hooks/post-index-change.

В bare хранилище коренът на директорията е самият $GIT_DIR. Тоест файлът, който атакуващият е сложил в hooks/, се превръща в действащ Git hook и се изпълнява при следващата операция върху индекса — с правата на системния потребител, под който върви Gitea.

Според бюлетина на проекта в GitHub за атаката са нужни Git 2.32 или по-нов, включен маршрут diffpatch и временна файлова система с права за писане и изпълнение. Това са настройките по подразбиране при почти всяка инсталация. Уязвимостта е открита и докладвана от изследователя Шай Род (NightRang3r).

Уеб интерфейсът на Gitea с хранилища и активност Снимка: Gitea

Защо е по-зле от обикновена RCE

Формално е нужен акаунт с права за писане в някое хранилище. На практика конфигурацията по подразбиране на Gitea позволява свободна регистрация, а нов потребител може веднага да си създаде хранилище — тоест сам си осигурява нужните права.

Рисковата комбинация изглежда така:

[service]
DISABLE_REGISTRATION = false
REGISTER_EMAIL_CONFIRM = false
REQUIRE_SIGNIN_VIEW = false

[openid]
ENABLE_OPENID_SIGNUP = true

При тези стойности неавтентикиран човек от интернет стига до изпълнение на команди с няколко заявки. Точно затова оценката е 9.8, а не по-ниска.

Как изглежда реалната атака

Разработчик, публикувал разбор в Habr, документира атаката върху своя сървър — случаят е описан от The Hacker News. Сигналът е бил банален: хостингът се оплакал от натоварване над 70% от процесора.

Дропърът се държи като типичен криптоджакинг софтуер:

  • изчиства променливите LD_PRELOAD и LD_LIBRARY_PATH, за да избегне заредени наблюдаващи библиотеки;
  • изброява процесите с високо потребление на CPU;
  • убива конкурентните миньори, ако някой друг вече е бил там;
  • сваля payload според архитектурата на машината;
  • изпълнява файла и го изтрива след себе си.

Последната стъпка е причината собствениците на сървъри често да не намират нищо на диска — остава само сметката за ток и по-бавният CI.

Кои версии са засегнати

Дупката съществува от Gitea 1.17 и е налична във всички следващи версии до 1.27.0 включително. Поправката излезе на 27 юли 2026 г. в 1.27.1, заедно с CVE-2026-59774 — четене на произволни файлове без автентикация през директивата #+INCLUDE на Org-mode.

Бюлетинът е публикуван на 28 юли. Между него и потвърдената експлоатация има под месец — стандартният вече срок между кръпка и масови сканирания.

Внимание

Ако не можете да обновите веднага, изключете свободната регистрация (DISABLE_REGISTRATION = true) и махнете инстанцията от публичния интернет. Това не запушва дупката за съществуващите потребители с права за писане — само стеснява кръга.

След ъпгрейда проверете custom/hooks и hook директориите на хранилищата за файлове, които не сте слагали вие, прегледайте историята на процесите и потреблението на CPU назад във времето и подменете всички токени и SSH ключове, до които процесът на Gitea е имал достъп.

Контекст

Същата седмица BleepingComputer описа друг начин да се използва инфраструктурата за разработка: огледалата на npm — UNPKG и npmmirror — се използват като безплатен хостинг за фишинг страници. Достатъчно е да качиш пакет с HTML файл и той става достъпен на адрес от вида https://unpkg.com/пакет@1.0.0/index.html.

Страницата показва истинска Cloudflare Turnstile проверка, но обфускираният JavaScript пренасочва посетителя независимо от резултата — към фалшиви входове като login[.]microsofte[.]live. OX Security е преброила 24 такива пакета, а първият случай е забелязан през юли от изследователя inf0stache и докладван от IntelFusions. Проблемът е, че файловете остават достъпни през огледалата дори след премахване от официалния регистър.

Общото между двата случая е адресът: доверен домейн или собствен сървър, който екипите приемат за част от вътрешната си инфраструктура. Видяхме същата логика при разследването срещу OpenAI заради пробива в Hugging Face, а предупреждението на Бил Гейтс за киберпраговете описва точно тази посока — свиване на времето между публикуван бюлетин и работещ експлойт.

Заключение

Кръпката е налична от края на юли, номерът на версията е 1.27.1 и ъпгрейдът е тривиален. Ако вашата инстанция е публична и още не е обновена, разумното допускане е не „дали“, а „кога“ — и първата проверка е потреблението на процесора.

Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.

Предпочитан източник в Google

Прочетете още