Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
gitlab-onigmo-scanner — Триаж только для обнаружения GitLab CVE-2026-97229 (и CVE-2026-110264): оценка версии self-managed GitLab вместе с её Ruby, выявление ловушек с патчем от 12 октября и кастомным Ruby. Без полезных нагрузок, без сетевых проверок. | Kitploit
Инструменты/GitHubGitHub/foxcornlab/gitlab-onigmo-scanner
Оборонительные ИнструментыСканеры уязвимостейАнализ уязвимостейАудит конфигурацииТестирование на ПроникновениеРеагирование на Инциденты
GitHubfoxcornlab/gitlab-onigmo-scanner

gitlab-onigmo-scanner

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →

Триаж только для обнаружения GitLab CVE-2026-97229 (и CVE-2026-110264): оценка версии self-managed GitLab вместе с её Ruby, выявление ловушек с патчем от 12 октября и кастомным Ruby. Без полезных нагрузок, без сетевых проверок.

Репозиторий
17 дней назадЕщё не проверено
Поделиться

gitlab-onigmo-scanner

Триаж версий для двух регэксп-уязвимостей GitLab с оценкой CVSS 10.0: CVE-2026-97229 и CVE-2026-110264. Укажите версию GitLab, которой вы владеете, — инструмент сообщит, остаётся ли эта сборка уязвимой, и выявит две ловушки, в которые люди уже попадаются. Он никогда не обращается к сети, не отправляет полезную нагрузку, не обращается к эндпоинту линтинга CI и не компилирует специально сформированное регулярное выражение.

Уязвимость

ДетальЗначение
CVECVE-2026-97229, а также CVE-2026-110264, оцениваемая наравне с ней
ОшибкаЦелочисленное переполнение (CWE-190) в Onigmo — движке регулярных выражений, встроенном в Ruby, — когда GitLab компилирует предоставленное пользователем регулярное выражение
ВоздействиеНеаутентифицированное удалённое выполнение кода на самостоятельно размещённом сервере GitLab при определённых условиях
Критичность10.0 critical для обеих, оценено GitLab как CNA
ЭксплуатацияCVE-2026-97229 добавлена в CISA KEV 2026-10-29, федеральный срок — 2026-11-01. CVE-2026-110264 на момент написания отсутствует в списке KEV, и GitLab не сообщает о признаках её использования в атаках

CVE-2026-97229 — это уязвимость регулярных выражений в CI/CD: специально сформированное регулярное выражение в конфигурации CI/CD, недостаточная валидация регулярных выражений, исправлена 2026-10-12. CVE-2026-110264 — вторая, более широкая уязвимость регулярных выражений, исправленная 2026-10-21, затрагивающая все самостоятельно размещённые релизы вплоть до 7.0. Тот же движок, та же оценка, другая ошибка — и именно поэтому одной проверки недостаточно.

Исправленные версии

CVE-2026-97229 (исправлена 2026-10-12)

ВеткаИсправлено в
GitLab 19.219.2.8
GitLab 19.319.3.5
GitLab 19.419.4.2
GitLab 19.5, старше 19.2Не указаны как затронутые этой CVE

CVE-2026-110264 (исправлена 2026-10-21)

ВеткаИсправлено в
GitLab 19.519.5.1
GitLab 19.419.4.3
GitLab 19.319.3.6
GitLab 19.219.2.9
GitLab 19.119.1.9
GitLab 19.019.0.10
GitLab 18.1118.11.13
GitLab 18.10 и старшеИсправленного релиза нет, обновитесь до 18.11.13 или новее

Ruby, для установок из исходников и пользовательских образов

ВеткаИсправлено в
Ruby 3.33.3.13
Ruby 3.43.4.12
Ruby 4.04.0.9
Ruby 3.2 и старшеИсправления нет, срок поддержки истёк, переходите на 3.4 или 4.0

Ловушка 1: патч от 12 октября не покрывает 21 октября

19.4.2, 19.3.5 и 19.2.8 исправили CVE-2026-97229. Каждая из них ниже исправления CVE-2026-110264 для своей ветки (19.4.3, 19.3.6, 19.2.9). Если вы пропатчились 12 октября и на этом остановились, вы по-прежнему уязвимы, а сканер, знающий только первую CVE, назовёт вас чистым. Этот инструмент оценивает обе и прямо называет ловушку в своём выводе, когда её видит.

Ловушка 2: обновление GitLab не исправляет ваш собственный Ruby

Исправление GitLab — это патч для Ruby, который поставляется в его официальных пакетах и образах. Установка из исходников или пользовательский образ, где Ruby устанавливается отдельно, не получает этот патч при обновлении GitLab. Alpine Linux испытала это на себе: она обновилась до GitLab 19.3.6 2026-10-22 и осталась уязвимой, поскольку в её образе использовался стандартный Ruby. Злоумышленник зондировал её сервер 2026-10-20 и 21, восемь раз обрушил воркеры, в четырёх случаях продвинулся в эксплуатации и вернулся 25 и 26. Alpine не нашла доказательств успешной эксплуатации, не смогла её исключить, пересобрала экземпляр с нуля, заменила секретные ключи и сбросила все пароли. Её исправленный образ, повторно загруженный после 2026-10-27, содержит Ruby 3.3.13.

Так: --install-type official оценивает только версию GitLab, поскольку Ruby идёт вместе с ней. --install-type source или custom также оценивает Ruby, который вы указываете через --ruby-version, а отсутствующая версия Ruby даёт оценку UNKNOWN, а не чистый результат. Ruby 4.0.8 — особый случай, о котором стоит знать: он исправляет ошибку CVE-2026-97229, но не CVE-2026-110264, поэтому здесь он получает оценку VULNERABLE. Ruby не запрашивал собственных идентификаторов CVE для этих исправлений, поэтому сканер, сопоставляющий записи CVE с установленными пакетами, нигде не находит уязвимый Ruby. Этот инструмент вместо этого проверяет версию Ruby напрямую.

Что он проверяет

  • Одну версию GitLab: CVE-2026-97229 и CVE-2026-110264 по отдельности, затем один общий вердикт
  • CSV-инвентаризацию множества экземпляров: name,gitlab_version,ruby_version,install_type,hosting
  • Ловушку с Ruby, когда вы указываете, что установка выполнена из source или custom
  • GitLab.com и Dedicated как уже исправленные, действия не требуются

Каждая находка получает вердикт: VULNERABLE, FIXED, EOL_NO_FIX, UNKNOWN или NOT_AFFECTED для отдельного CVE в ветке, которую он не затрагивает. EOL_NO_FIX считается уязвимым: для этой линейки исправление не появится.

Чего он никогда не делает

Никаких сетевых запросов. Никакого зондирования удалённых серверов. Никаких специально созданных регулярных выражений, никаких запросов на проверку CI, никакого эксплойт-трафика, никакого кода PoC. Он читает предоставленные вами строки версий и на этом останавливается. Это сделано намеренно: публичные PoC для CVE-2026-97229 уже существуют, и их воспроизведение здесь не добавило бы ничего защитного.

Зачем это, когда PoC и счётчики версий уже существуют

Публичные материалы по CVE-2026-97229 в основном наступательные: PoC, выполняющие код от имени пользователя git, и лаборатории, которые определяют, какие сборки можно использовать как оружие. Censys подсчитывает открытые хосты по версии. GitLab опубликовал правила Sigma для обнаружения попыток эксплуатации в логах. Ничто из этого не является автономным инструментом защитной триажной оценки, который оценивает обе октябрьские уязвимости с CVSS 10.0 вместе и проверяет Ruby под установкой из source или custom. Этот пробел и закрывает данный репозиторий: одна команда, оба CVE, обе ловушки, без полезной нагрузки. Используйте его вместе с правилами Sigma от GitLab, а не вместо них. Если экземпляр подвергался зондированию, триаж версий — это не триаж компрометации: проверьте логи падений воркеров и отчёты о падениях Onigmo, и следуйте примеру Alpine, если не можете исключить попытку.

Оценка

НаходкаСерьёзность
GitLab ниже исправления для своей ветки по любому из CVEVULNERABLE
GitLab на 18.10 или старше, либо Ruby 3.2 или старше при установке из source/customEOL_NO_FIX, считается уязвимым
GitLab на уровне обоих исправлений или выше, и исправленный Ruby, где это применимоFIXED
Установка Source/custom без версии Ruby, либо ветка новее данных этого инструмента (2026-10-30)UNKNOWN, не чистый результат
GitLab.com / DedicatedFIXED, исправлено GitLab

Использование

# One instance, official package or image
python3 gitlab_onigmo_scanner.py --version 19.4.2

# One instance, source install with its own Ruby
python3 gitlab_onigmo_scanner.py --version 19.4.3 --ruby-version 3.4.11 --install-type source

# A whole estate, machine-readable output
python3 gitlab_onigmo_scanner.py --list inventory.csv --json

# Tests (version tables only, no network)
python3 -m unittest discover -s tests -v

Формат inventory.csv, строка заголовка необязательна:

name,gitlab_version,ruby_version,install_type,hosting
prod,19.4.1,,official,self-managed
staging,19.4.3,,official,self-managed
legacy-source,19.4.3,3.4.11,source,self-managed
Скачать инструмент