GitLab закърпи пробив с CVSS 10.0: код без логин

GitLab пусна на 12 октомври спешни пачове за три поддържани линии на платформата, след като поправи уязвимост с максималната възможна оценка — CVSS 10.0. Дефектът, заведен като CVE-2026-97229, позволява на напълно неоторизиран потребител да изпълни произволен код директно върху GitLab сървъра. Поправените версии са 19.4.2, 19.3.5 и 19.2.8, а компанията настоява всички self-managed инсталации да бъдат обновени незабавно.
Какво точно не е наред
Проблемът е integer overflow в компилатора на регулярни изрази в CI/CD частта на GitLab. Формулировката на самата компания е достатъчно ясна: „При определени условия е възможно неоторизиран потребител да изпълни произволен код на GitLab сървъра чрез специално подготвен регулярен израз в CI/CD конфигурация“ — заради недостатъчна валидация на изразите.
Комбинацията от параметри е възможно най-лошата и точно затова оценката е 10.0: атаката е отдалечена, не изисква автентикация, не изисква взаимодействие от потребителя и е с ниска сложност. Накратко — ако инстанцията ви е достъпна от интернет и приема CI/CD конфигурации, атакуващият има нужда само от мрежова свързаност и правилно подбран regex.
Засегнати са версиите 19.2 преди 19.2.8, 19.3 преди 19.3.5 и 19.4 преди 19.4.2, както в Community Edition, така и в Enterprise Edition. Пълните детайли са в официалния patch release на GitLab, а първият анализ на новината дойде от The Hacker News.
Снимка: GitLab
Още 24 поправки в същия пакет
CVE-2026-97229 е най-шумната, но далеч не единствената. Пачът затваря общо 25 пробойни: една критична, пет с висока степен и деветнадесет със средна или ниска. Сред високите се открояват:
- CVE-2026-92883 (CVSS 8.7) — cross-site scripting при оцветяването на синтаксиса. Автентикиран потребител може да изпълни JavaScript в сесията на друг, като го подмами да отвори зловредно репо.
- CVE-2026-16301 (CVSS 8.5) — неправилна авторизация при създаване на downstream pipeline. Потребител с роля Developer може да пуска CI/CD pipeline върху защитени клонове.
- CVE-2026-14814 (CVSS 8.2) — прекалено позволителен регулярен израз, който отваря врата за response poisoning и издаване на защитени environment променливи.
Част от докладите идват през програмата на GitLab в HackerOne. Критичната дупка е открита от изследователя joaxcar, а сред останалите подавали сигнали са a0xnirudh и sim4n6.
Кой е застрашен и кой — не
GitLab.com и клиентите на GitLab Dedicated вече работят на закърпена версия, така че за тях действие не се изисква. Рискът е изцяло при self-managed инсталациите — типичният сценарий за фирми, които държат кода си на собствен сървър или в собствен облак.
Обновяването на инстанция с един възел означава престой по време на миграциите. При многовъзлови конфигурации можете да минете през процедурата за zero-downtime, но имайте предвид, че 19.3.5 съдържа post-deploy миграции. Планирайте прозорец, вместо да натискате бутона в работно време.
Още една подробност е важна за тези, които следят отблизо: версия 19.3.4 имаше бъг със страниците за merge request при включена интеграция с Ona. Поправката е именно в 19.3.5, така че прескочете 19.3.4 и отидете директно на последната.
Защо точно CI/CD сървърите са лаком залък
GitLab сървърът рядко е просто хранилище за код. През него минават подписи, ключове за деплой, достъпи до облачни акаунти и артефакти, които после тръгват към продукция. Изпълнение на код върху такава машина не е единичен пробив, а входна точка към цялата верига на доставка на софтуера — оттам нататък атакуващият може да подменя билдове, да краде токени и да се движи навътре в мрежата.
Точно този модел на атака вече видяхме и в други случаи тази година — от кражбата на 628 000 украински записа с помощта на агенти до кибератаката, която изключи хладилниците във френски магазини. Инфраструктурният софтуер е мишената, защото дава най-много наведнъж.
Не е само GitLab: 31 пробойни в MarkLogic
На практика в същия ден излезе и друга лоша новина за корпоративните администратори. Progress MarkLogic разкри 31 уязвимости, пет от които критични — CVE-2026-85947, CVE-2026-85948 и CVE-2026-85955 с оценка 9.9, плюс CVE-2026-85956 и CVE-2026-9191 с 9.6. Повечето водят до създаване на постоянен администраторски акаунт или до изпълнение на код с повишени права, но за разлика от GitLab дупката изискват някакво ниво на предварителни привилегии.
Поправките са в MarkLogic 11.3.7 и 12.1.0; по-ранните пачове 11.3.6 и 12.0.3 остават уязвими. Част от сигналите идват от изследователите rexnets и WaltWhitehat през Bugcrowd. Към момента няма данни за активна експлоатация, пише The Hacker News.
Заключение
Оценка 10.0 се появява рядко и почти винаги означава едно и също: няма смекчаващи обстоятелства, няма изискване за акаунт, няма нужда от късмет. Ако поддържате собствена GitLab инстанция, обновяването до 19.4.2, 19.3.5 или 19.2.8 е работа за днес, а не за следващия поддръжков прозорец. А ако инстанцията ви е била изложена публично в последните дни, струва си да прегледате логовете за необичайни CI/CD конфигурации и новосъздадени задачи — пач, сложен след факта, не изчиства това, което вече е влязло.
Харесва ви? Отбележете ни и ще ни виждате по-нагоре в Google.
Предпочитан източник в Google