
PoC и инструмент валидации для CVE-2026-82329 в JFrog Artifactory. Формирует JWT с пустым ключом подписи для получения токена администратора, проверяет доступ и поддерживает сканирование нескольких целей с использованием потоков.
PoC и инструмент валидации для выявления self-hosted установок JFrog Artifactory, затронутых CVE-2026-82329.
Инструмент проверяет следующую цепочку аутентификации:
Проект предназначен для легитимного тестирования безопасности, проверки патчей и реагирования на инциденты. Не запускайте его против систем, которыми вы не владеете или на тестирование которых у вас нет письменного разрешения.
Эта CVE затрагивает self-hosted установки Artifactory, которые не были исправлены. Artifactory Cloud уже исправлен.
Задокументированные исправленные версии:
Исправленные версии могут различаться в зависимости от линейки релизов. Используйте официальный бюллетень JFrog как источник истины для определения статуса патча в вашем окружении.
-token выводит токен администратора в терминал. Относитесь к этому выводу как к секретным учетным данным.-create-admin является деструктивной, так как создает постоянную учетную запись администратора. Используйте только в тестовых средах или когда этого требует процедура реагирования на инциденты.Внешних зависимостей Go нет. Программа использует стандартную библиотеку Go.
Клонируйте или скопируйте этот проект на тестовую машину, затем соберите:
go build -o cve-2026-82329 CVE-2026-82329.go
Для проверки и применения стандартного форматирования Go:
gofmt -w CVE-2026-82329.go
go vet ./...

./cve-2026-82329 -u https://artifactory.example.com:8082
Схема URL может быть опущена. Если она опущена, программа использует HTTP:
./cve-2026-82329 -u 192.0.2.10:8082
Файл целей содержит один URL на строку. Пустые строки и строки, начинающиеся с #, игнорируются.
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# лабораторная цель, временно отключена
Запустите сканирование с указанным количеством воркеров:
./cve-2026-82329 -l urls.txt -threads 8
cat hosts.txt | ./cve-2026-82329
URL с схемой или без нее могут использоваться, если у них есть корректный хост.
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
Используйте эту опцию только когда токен действительно необходим для дальнейшей валидации. Не передавайте этот токен третьим лицам.
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'Используйте-Тестовые-Учетные-Данные'
Формат значения — user:pass. Поскольку учетные данные могут быть видны в истории shell или списке процессов, используйте только в контролируемой среде. Эта функция может зависеть от редакции Artifactory Pro или Enterprise.
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
Короткий алиас — -v. Этот режим записывает запросы, ответы, подделанные JWT и claims токенов. Считайте весь вывод чувствительными данными.
| Опция | По умолчанию | Описание |
|---|---|---|
-u URL | пусто | Базовый URL цели; может повторяться |
-l FILE | пусто | Файл со списком URL целей |
-threads N | 8 | Количество параллельных воркеров |
-timeout N | 20 | Таймаут каждого запроса в секундах |
-token | false | Отображать полученный токен администратора |
-create-admin user:pass | пусто | Создать постоянную учетную запись администратора |
-verbose | false | Записывать детали запросов, ответов и claims |
-v | false | Алиас для -verbose |
VULN: join выполнен успешно, и endpoint подтверждения администратора вернул статус HTTP 200.SAFE: join не удался, например, цель пропатчена, не использует пустой ключ или не является соответствующим Artifactory.INFO: join выполнен успешно, но подтверждение администратора не дало однозначного результата. Проверьте версию и конфигурацию вручную.FAIL: цель недоступна или URL недействителен.Статус SAFE не заменяет проверку версии и конфигурации. Статус INFO следует рассматривать как находку, требующую дальнейшей проверки.
-threads и -timeout в соответствии с возможностями окружения.Лицензия в этом репозитории не определена. Свяжитесь с владельцем проекта перед распространением или интеграцией кода в другие продукты.
Этот код предоставлен для исследований в области безопасности и санкционированного тестирования. Авторы и контрибьюторы не несут ответственности за несанкционированное использование, ущерб, потерю данных или нарушения закона, возникшие в результате использования этого инструмента.
Gagaltotal666 - GhostGTR666
Репозиторий: https://github.com/gagaltotal