Jpom 원격 인증 우회 및 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-120201)
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENTJpom 버전 2.10.0부터 2.11.12까지의 환경
인증되지 않은 공격자가 JPOM-USER-TOKEN 헤더에 특수 쿼리 조건을 주입하여 최고 관리자 권한을 획득하고, 스크립트 실행 기능을 통해 대상 서버에서 임의의 시스템 명령을 실행할 수 있습니다
Jpom을 최신 안전한 버전(2.11.13 이상)으로 즉시 업그레이드하고, 패치 적용 전까지 외부로부터의 관리 콘솔 접근을 차단하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
패치 및 우회 명령어1. 공식 보안 패치 및 버전 업그레이드 명령어
Jpom 공식 리포지토리의 최신 릴리즈를 확인하고 취약점이 해결된 버전(2.11.13 이상)으로 업그레이드를 진행하십시오. 아래는 Docker 환경 및 일반 리눅스 환경에서의 업그레이드 예시입니다.
# Docker 환경에서 Jpom 서버 최신 버전으로 업데이트 및 재시작
docker pull dromara/jpom-server:latest
docker stop jpom-server
docker rm jpom-server
# 기존 데이터 볼륨을 유지하며 새 컨테이너 실행
docker run -d -p 2122:2122 --name jpom-server -v /home/jpom/data:/usr/local/jpom-server/data dromara/jpom-server:latest2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정
즉각적인 패치가 어려운 경우, 리버스 프록시(Nginx 등)를 사용하여 외부에서 유입되는 JPOM-USER-TOKEN 헤더에 악성 패턴이 포함되어 있는지 검증하거나, Jpom 관리 콘솔에 대한 접근을 신뢰할 수 있는 IP 대역으로만 제한하십시오.
# Nginx 설정 파일에 취약한 헤더 패턴 차단 규칙 추가
server {
listen 80;
server_name jpom.local;
location / {
# JPOM-USER-TOKEN 헤더에 'is not null' 등 악성 연산자 주입 차단
if ($http_jpom_user_token ~* 'is\\s+not\\s+null') {
return 403 'Invalid Request';
}
proxy_pass http://127.0.0.1:2122;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트
서버 로그에서 JPOM-USER-TOKEN 헤더에 비정상적인 문자열이 유입되었는지 검사하고, 현재 구동 중인 Jpom의 버전을 확인하는 스크립트입니다.
# Jpom 액세스 로그에서 'is not null' 또는 유사 연산자 주입 흔적 검색
grep -ri 'JPOM-USER-TOKEN' /home/jpom/logs/ 2>/dev/null | grep -Ei 'is[[:space:]]+not[[:space:]]+null'
# 실행 중인 Jpom 프로세스의 버전 정보 확인
ps -ef | grep jpom | grep -oE 'jpom-server-[0-9.]+'코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요
서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.
취약점 발생 원리 및 공격 메커니즘
1. 취약점 개요 및 발생 원인 (Root Cause)
본 취약점은 Java 기반의 오픈소스 프로젝트 관리 플랫폼인 Jpom에서 발생하는 심각한 인증 우회 및 원격 코드 실행(RCE) 취약점입니다. Jpom의 LoginInterceptor 클래스는 사용자 세션 및 토큰 검증을 수행할 때 HTTP 요청 헤더의 JPOM-USER-TOKEN 값을 검증합니다. 이 과정에서 내부적으로 사용되는 Hutool 라이브러리의 Condition 파서가 입력값을 안전하게 처리하지 못해 발생합니다. 공격자가 헤더에 특정 SQL/쿼리 연산자 형태의 문자열을 주입하면, 파서가 이를 단순 문자열이 아닌 논리 연산자로 해석하여 데이터베이스 조회 조건(예: 'is not null')을 참(True)으로 만듭니다. 이로 인해 유효하지 않거나 존재하지 않는 토큰임에도 불구하고 인증 필터를 통과하여 최고 관리자(Super-Administrator) 권한을 획득하게 됩니다.
2. 공격 메커니즘 및 익스플로잇 시나리오
공격자는 Jpom 서버의 API 엔드포인트로 HTTP 요청을 전송할 때, 헤더에 JPOM-USER-TOKEN: is not null 또는 이와 유사한 Hutool Condition 파서가 해석할 수 있는 연산자 구문을 삽입합니다. Jpom 서버는 이 헤더 값을 기반으로 사용자 세션을 조회하는 쿼리를 동적으로 생성 및 실행합니다. 이때 주입된 연산자로 인해 쿼리 결과가 항상 참이 되어 데이터베이스 내의 첫 번째 또는 최고 관리자 계정 세션이 반환됩니다. 인증을 우회하여 최고 관리자 권한을 획득한 공격자는 Jpom이 기본적으로 제공하는 노드 관리 및 '스크립트 실행(Script Execution)' 기능을 악용하여, 대상 서버의 운영체제 권한으로 임의의 쉘 명령어를 실행(RCE)할 수 있게 됩니다.
3. 비즈니스 및 인프라 파급 영향
이 취약점은 CVSS 9.8의 치명적(Critical) 등급으로 평가되었으며, 외부망에 노출된 Jpom 인프라 전체를 완전히 장악당할 수 있는 극도로 위험한 취약점입니다. 공격자가 최고 관리자 권한을 획득하면 Jpom이 관리하는 모든 하위 노드 및 애플리케이션 서버에 접근할 수 있습니다. 이는 소스 코드 유출, 데이터베이스 탈취, 랜섬웨어 배포, 내부망 침투(Lateral Movement) 등 기업 비즈니스 연속성에 치명적인 피해를 초래할 수 있습니다.
공식 보안 권고문 및 참조 링크
Jpom 2.10.0 through 2.11.12 contains an authentication bypass vulnerability that allows unauthenticated attackers to gain super-administrator access by injecting query conditions into the JPOM-USER-TOKEN header. Attackers can send a value like 'is not null', which Hutool's Condition parser treats as an operator, then execute commands through Jpom's script features.
자주 묻는 실무 질문 (FAQ — CVE-2026-120201)
FAQQ1. CVE-2026-120201 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?
CVE-2026-120201의 기본 점수는 CVSS 9.8 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 2.2%입니다. 외부 네트워크 노출 여부에 따라 선제적인 패치 및 접근 제어가 권장됩니다.
Q2. CVE-2026-120201에 영향을 받는 벤더와 제품은 무엇입니까?
주요 영향 벤더는 dromara이며, 대상 컴포넌트는 jpom입니다. 상세 영향 범위: Jpom 버전 2.10.0 이상 2.11.12 이하 전 버전 (Hutool Condition 파서 기반 인증 검증 모듈 사용 버전)
Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?
[권장 조치] Jpom을 최신 안전한 버전(2.11.13 이상)으로 즉시 업그레이드하고, 패치 적용 전까지 외부로부터의 관리 콘솔 접근을 차단하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.
CVE-2026-120201 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성
클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.
🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (dromara)
동일 카테고리 전체 보기 →Ahsay AhsayCBS Replication Receiver 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-105134)
[영향 대상] AhsayCBS 9.15.2.69 및 10.3.4.44 이하 버전의 Replication Receiver 구성 요소
Adobe Commerce (Magento) 서버 측 템플릿 주입(SSTI) 기반 원격 코드 실행 취약점 (CVE-2026-75650)
[영향 대상] Adobe Commerce 및 Magento Open Source 전 버전 (보안 패치 미적용 시)
Metabase /reset_password 엔드포인트 미인증 SQL 인젝션 및 관리자 권한 탈취 취약점 (CVE-2026-72898)
[영향 대상] Metabase 오픈소스 및 엔터프라이즈 버전 중 패치가 적용되지 않은 활성 인스턴스
WSO2 JWT 인증 우회 및 관리자 권한 탈취 취약점 (CVE-2026-5430) 보안 권고
[영향 대상] WSO2 Identity Server, API Manager 등 JWT 인증 메커니즘을 사용하는 주요 제품군
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.