CVE 데이터베이스CVE-2018-1000861
English Advisory →
CVE-2018-10008619.8/CRITICALCISA KEV 등재CWE-502CWE-502

Jenkins Stapler 웹 프레임워크 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2018-1000861)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
jenkins, stapler
대상 컴포넌트 / 패키지
jenkins, stapler
권고문 발행일
2018-12-10
CVSS v3.1
9.8
CRITICAL
30일 악용확률
98.3%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Jenkins 주 버전 2.153 이하 및 LTS 버전 2.138.3 이하에서 사용되는 Stapler 웹 프레임워크.

파급 효과

인증되지 않은 원격 공격자가 특수하게 조작된 URL을 전송하여 대상 Java 객체의 임의 메서드를 호출하고, 최종적으로 시스템 권한으로 원격 코드 실행(RCE)을 수행할 수 있습니다.

권장 조치

Jenkins 주 버전을 2.154 이상으로, LTS 버전을 2.138.4 이상으로 즉시 업그레이드하십시오.

영향받는 제품 및 버전 범위

Jenkins 주 버전 2.153 이하, LTS 버전 2.138.3 이하 (Stapler 웹 프레임워크 내장 버전)

권장 패치 및 임시 완화(Workaround) 가이드

패치 및 우회 명령어

1. 공식 보안 패치 및 버전 업그레이드 명령어

가장 확실한 해결책은 취약점이 해결된 최신 안정 버전으로 Jenkins를 업그레이드하는 것입니다.

bash
# Debian/Ubuntu 계열 Jenkins 업그레이드
sudo apt-get update
sudo apt-get --only-upgrade install jenkins

# RedHat/CentOS 계열 Jenkins 업그레이드
sudo yum update jenkins

# Docker 기반 Jenkins 사용 시 최신 LTS 이미지로 재빌드
docker pull jenkins/jenkins:lts
docker stop jenkins-container
docker run -d --name jenkins-new -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts

2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정

즉각적인 패치가 어려운 경우, 리버스 프록시(Nginx)를 사용하여 외부로부터의 비정상적인 URL 요청 패턴을 차단하고 Jenkins 관리 콘솔에 대한 접근을 신뢰할 수 있는 IP 대역으로 제한해야 합니다.

nginx
# Nginx 리버스 프록시 설정 예시 (비정상적인 경로 탐색 차단)
server {
    listen 80;
    server_name jenkins.internal.local;

    location / {
        # 특정 내부 IP 대역만 허용
        allow 10.0.0.0/8;
        deny all;

        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트

현재 구동 중인 Jenkins의 버전을 확인하고, 액세스 로그에서 Stapler 취약점 악용 시도 패턴을 탐지하는 스크립트입니다.

bash
# Jenkins 실행 버전 확인
curl -sI http://localhost:8080 | grep -i 'X-Jenkins'

# Jenkins 액세스 로그에서 Stapler 악용 의심 패턴(예: descriptorByName, bypass 등) 검색
grep -Ei '(descriptorByName|securityRealm|classLoader)' /var/log/jenkins/jenkins.log
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
CISA KEV에 등재되어 실제 공격에 악용 중인 취약점이므로, Jenkins 인스턴스를 즉시 최신 LTS 버전으로 업그레이드하십시오.

내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요

간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.

무료 플랜 지원 · GitHub/GitLab 1클릭 연동
CI/CD 파이프라인에 자동 보안 스캐닝(SAST/SCA) 구축하는 실전 강의
커리큘럼 확인하기

취약점 발생 원리 및 공격 메커니즘

1. 취약점 개요 및 발생 원인 (Root Cause)

본 취약점은 Jenkins의 핵심 요청 라우팅 엔진인 Stapler 웹 프레임워크의 MetaClass.java에서 발생합니다. Stapler는 URL 경로를 Java 객체의 메서드 호출로 매핑하는 리플렉션(Reflection) 메커니즘을 사용합니다. 이 과정에서 적절한 접근 제어 및 메서드 필터링 검증이 결여되어, 개발자가 외부 노출을 의도하지 않은 내부 Java 객체의 민감한 메서드들이 특정 URL 구조를 통해 직접 호출될 수 있는 바인딩 취약점이 존재합니다.

2. 공격 메커니즘 및 익스플로잇 시나리오

공격자는 인증을 거치지 않은 상태에서 Jenkins 서버에 특수하게 조작된 HTTP 요청(URL)을 전송합니다. Stapler의 URL 해석기(Dispatcher)는 경로 세그먼트를 순차적으로 분석하며 Java 클래스의 게터(Getter) 및 액션 메서드를 탐색합니다. 이때 공격자는 클래스 로더(ClassLoader)나 시스템 내부 API에 접근할 수 있는 체인을 구성하여, 임의의 Java 객체를 인스턴스화하거나 시스템 명령어를 실행하는 메서드를 강제로 트리거합니다. 이는 전형적인 역직렬화(Deserialization) 및 객체 그래프 내비게이션 취약점(CWE-502)의 변종으로 분류됩니다.

3. 비즈니스 및 인프라 파급 영향

본 취약점은 CVSS 9.8의 치명적(Critical) 등급으로 평가되었으며, CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 야생(In-the-wild)에서 적극적으로 악용되고 있음이 확인되었습니다. 공격자가 이 취약점을 성공적으로 악용할 경우, Jenkins 마스터 노드의 운영체제 권한을 완전히 장악할 수 있습니다. 이는 CI/CD 파이프라인 내의 소스 코드, 자격 증명(Credentials), API 토큰 탈취로 이어지며, 공급망 공격(Supply Chain Attack)의 교두보가 될 수 있습니다.

공식 보안 권고문 및 참조 링크

자주 묻는 실무 질문 (FAQ — CVE-2018-1000861)

FAQ

Q1. CVE-2018-1000861 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?

CVE-2018-1000861의 기본 점수는 CVSS 9.8 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 98.3%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.

Q2. CVE-2018-1000861에 영향을 받는 벤더와 제품은 무엇입니까?

주요 영향 벤더는 jenkins, stapler이며, 대상 컴포넌트는 jenkins, stapler입니다. 상세 영향 범위: Jenkins 주 버전 2.153 이하, LTS 버전 2.138.3 이하 (Stapler 웹 프레임워크 내장 버전)

Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?

[권장 조치] Jenkins 주 버전을 2.154 이상으로, LTS 버전을 2.138.4 이상으로 즉시 업그레이드하십시오. 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

실무자 보고서 워크벤치 연동

CVE-2018-1000861 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성

클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.

보고서 초안 생성하기 →

🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (jenkins)

동일 카테고리 전체 보기 →
SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2018-1000861 Jenkins Stapler 웹 프레임워크 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2018-1000861) (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse