English Advisory →
CVE-2024-238979.8/CRITICALCISA KEV 등재CWE-22CWE-27

Jenkins CLI 인자 파서 취약점을 악용한 임의 파일 읽기 및 원격 코드 실행 취약점 (CVE-2024-23897)

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Jenkins 주 버전 2.441 이하 및 LTS 버전 2.426.2 이하

파급 효과

인증되지 않은 공격자가 Jenkins 컨트롤러 파일 시스템 내의 임의 파일을 읽을 수 있으며, 특정 조건 하에서 원격 코드 실행(RCE)으로 이어질 수 있습니다

권장 조치

Jenkins 주 버전을 2.442 이상으로, LTS 버전을 2.426.3 이상으로 즉시 업그레이드하거나 CLI 액세스를 비활성화하십시오

영향받는 제품 및 버전 범위

Jenkins 주 버전 2.441 이하, LTS 버전 2.426.2 이하의 모든 설치 환경

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

패치 및 우회 명령어

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

가장 확실한 해결책은 Jenkins를 최신 안전 버전(주 버전 2.442 이상, LTS 2.426.3 이상)으로 업그레이드하는 것입니다.

Debian/Ubuntu 계열 환경에서의 업그레이드 예시:

bash
# 패키지 리스트 업데이트 및 Jenkins 업그레이드
sudo apt-get update
sudo apt-get --only-upgrade install jenkins

# Jenkins 서비스 재시작 및 상태 확인
sudo systemctl restart jenkins
sudo systemctl status jenkins

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

즉각적인 업그레이드가 어려운 경우, Jenkins CLI로의 접근을 완전히 차단하여 취약점 노출을 방지해야 합니다. Jenkins 관리 콘솔(Script Console)에서 아래 스크립트를 실행하여 CLI를 비활성화하십시오.

groovy
// Jenkins 관리 -> 스크립트 콘솔(Script Console)에서 실행
import jenkins.model.Jenkins
import java.util.logging.Logger

def logger = Logger.getLogger('cli-disable-workaround')
def instance = Jenkins.get()

try {
    instance.getDescriptor('jenkins.CLI').getApi().disableCLI()
    logger.info('Jenkins CLI has been successfully disabled as a temporary workaround.')
} catch (Exception e) {
    logger.severe('Failed to disable CLI: ' + e.getMessage())
}

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

서버 내 Jenkins CLI 요청 로그에서 '@' 문자가 포함된 비정상적인 요청이 유입되었는지 점검합니다.

bash
# Jenkins 액세스 로그에서 CLI 엔드포인트 및 '@' 문자 사용 흔적 검색
# (로그 경로 및 포맷은 환경에 따라 다를 수 있습니다)
grep -i '/cli' /var/log/jenkins/jenkins.log | grep '@'

# 현재 실행 중인 Jenkins 버전 확인
curl -sI http://localhost:8080 | grep -i 'X-Jenkins'
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
보안 사고 예방을 위해 Jenkins 인스턴스를 즉시 LTS 2.426.3 이상으로 업그레이드하고, 불필요한 CLI 기능을 비활성화하십시오.

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

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

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

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

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

본 취약점은 Jenkins CLI(Command Line Interface)의 명령 인자 파서인 args4j 라이브러리의 기본 기능 오설정으로 인해 발생합니다. args4j는 인자 값 중 '@' 문자 뒤에 파일 경로가 오는 경우(예: '@filename'), 해당 파일의 내용을 읽어 인자 값으로 치환하는 확장 기능을 제공합니다. Jenkins는 이 기능을 비활성화하지 않은 채 CLI 명령을 처리하도록 방치하여, 공격자가 컨트롤러 파일 시스템의 임의 파일 내용을 CLI 명령의 인자로 주입할 수 있는 취약점이 존재합니다.

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

인증되지 않은 공격자는 Jenkins CLI 엔드포인트(일반적으로 HTTP 포트 또는 SSH 포트)를 통해 특정 CLI 명령을 전송하면서 '@' 문자를 사용해 민감한 파일 경로(예: '/etc/passwd', 'credentials.xml')를 인자로 전달합니다. Jenkins CLI 파서는 해당 파일의 내용을 읽어 명령의 인자로 확장하려 시도합니다. 이 과정에서 명령 구문 오류가 발생하거나 인자 유효성 검증에 실패하면, Jenkins는 에러 메시지에 해당 파일의 내용을 포함하여 클라이언트에 반환하게 됩니다. 이를 통해 공격자는 인증 없이도 컨트롤러 내부의 기밀 데이터를 탈취할 수 있습니다.

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

이 취약점은 CVSS 9.8의 치명적인(Critical) 등급으로 분류되며, CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 공격에 활발히 악용되고 있습니다. 공격자가 Jenkins 암호화 키, 자격 증명(Credentials) 파일, 소스 코드 또는 세션 토큰을 탈취할 경우, CI/CD 파이프라인 전체를 장악하고 빌드 아티팩트에 악성코드를 주입하는 공급망 공격(Supply Chain Attack)으로 이어질 수 있습니다. 또한, 특정 조건 하에서 암호화 키를 획득한 공격자는 역직렬화 공격 등을 통해 완전한 원격 코드 실행(RCE) 권한을 획득할 수 있습니다.

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

자주 묻는 실무 질문 (FAQ — CVE-2024-23897)

FAQ

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

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

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

주요 영향 벤더는 jenkins이며, 대상 컴포넌트는 jenkins입니다. 상세 영향 범위: Jenkins 주 버전 2.441 이하, LTS 버전 2.426.2 이하의 모든 설치 환경

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

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

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2024-23897 Jenkins CLI 인자 파서 취약점을 악용한 임의 파일 읽기 및 원격 코드 실행 취약점 (CVE-2024-23897) (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse