CVE 데이터베이스CVE-2026-120135
English Advisory →
CVE-2026-1201358.2/HIGHCWE-674

Apache Thrift Java 바인딩 제어되지 않는 재귀 호출로 인한 서비스 거부(DoS) 취약점 (CVE-2026-120135)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
apache
대상 컴포넌트 / 패키지
thrift
권고문 발행일
2026-10-31
CVSS v3.1
8.2
HIGH
30일 악용확률
0.5%
FIRST.org
CISA KEV
미등재

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Apache Thrift 0.24.0 미만 버전을 사용하는 Java 기반 애플리케이션 및 서비스

파급 효과

악의적으로 조작된 중첩 메시지를 처리할 때 스택 오버플로우(Stack Overflow)가 발생하여 대상 JVM 프로세스가 비정상 종료(DoS)될 수 있습니다

권장 조치

Apache Thrift Java 라이브러리 의존성을 최신 보안 패치가 적용된 0.24.0 이상 버전으로 즉시 업그레이드하십시오

영향받는 제품 및 버전 범위

Apache Thrift Java 바인딩 0.24.0 미만 모든 버전

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

패치 및 우회 명령어

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

가장 확실한 해결책은 빌드 설정 파일에서 Apache Thrift Java 라이브러리 의존성을 0.24.0 이상 버전으로 업데이트하는 것입니다.

Maven (pom.xml) 설정 변경:

xml
<!-- pom.xml 의존성 설정 업데이트 -->
<dependency>
    <groupId>org.apache.thrift</groupId>
    <artifactId>libthrift</artifactId>
    <version>0.24.0</version>
</dependency>

Gradle (build.gradle) 설정 변경:

groovy
// build.gradle 의존성 설정 업데이트
implementation 'org.apache.thrift:libthrift:0.24.0'

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

즉각적인 라이브러리 업그레이드가 어려운 경우, Thrift 프로토콜 파서의 최대 메시지 크기 및 컨테이너 크기 제한 설정을 강화하여 비정상적으로 큰 중첩 메시지의 유입을 차단해야 합니다.

Java 코드 내에서 TConfiguration을 통한 제한 설정 예시:

java
import org.apache.thrift.TConfiguration;
import org.apache.thrift.transport.TServerSocket;
import org.apache.thrift.transport.TServerTransport;

// 최대 메시지 크기 및 재귀 깊이 제한을 위한 TConfiguration 설정
TConfiguration config = new TConfiguration();
config.setMaxMessageSize(10 * 1024 * 1024); // 10MB 제한
// 내부 RPC 통신망에 대한 방화벽 및 인프라 수준의 접근 제어(ACL)를 적용하여 신뢰할 수 없는 IP의 접근을 차단하십시오.

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

애플리케이션 로그에서 StackOverflowError 발생 여부와 Thrift 관련 패키지 호출 스택을 점검하여 공격 시도를 탐지할 수 있습니다.

서버 로그에서 관련 에러 패턴을 검색하는 셸 스크립트:

bash
# 애플리케이션 로그에서 Thrift 역직렬화 중 발생한 StackOverflowError 흔적 검색
grep -ri 'java.lang.StackOverflowError' /var/log/apps/ | grep -i 'thrift'
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
Apache Thrift Java 라이브러리를 즉시 0.24.0 이상 버전으로 업그레이드하여 서비스 거부 취약점을 해결하십시오.

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

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

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

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

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

본 취약점(CVE-2026-120135)은 Apache Thrift Java 바인딩 라이브러리에서 발생하는 제어되지 않는 재귀(Uncontrolled Recursion, CWE-674) 취약점입니다. Apache Thrift는 이기종 언어 간 효율적인 RPC 통신을 위해 널리 사용되는 직렬화 프레임워크입니다. Java 바인딩 구현체에서 수신된 프로토콜 메시지를 파싱하고 역직렬화(Deserialization)하는 과정에서, 중첩 구조(Nested Structure)의 깊이를 제한하는 안전 장치가 미흡하여 발생합니다.

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

공격자는 네트워크를 통해 고도로 중첩된 컨테이너(예: 극도로 깊게 중첩된 List, Map, Set 또는 Struct)를 포함하는 악의적인 Thrift 메시지를 생성하여 대상 서버로 전송합니다. Java 바인딩의 역직렬화 엔진은 이 메시지를 처리하기 위해 재귀적으로 파싱 함수를 호출하게 됩니다. 이 과정에서 호출 스택(Call Stack)의 한계를 초과하는 깊이에 도달하면 java.lang.StackOverflowError가 발생하며, 이는 예외 처리가 불가능하여 결국 전체 JVM 프로세스를 비정상 종료(Crash)시키는 서비스 거부(DoS) 상태로 이어집니다.

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

이 취약점은 CVSS 4.0 기준 8.2(High)의 높은 위험도를 가집니다. 인증되지 않은 원격의 공격자가 단일 네트워크 패킷 송신만으로 백엔드 마이크로서비스나 데이터 파이프라인을 중단시킬 수 있습니다. 특히 대규모 분산 아키텍처에서 Apache Thrift를 내부 RPC 통신 표준으로 사용하는 경우, 핵심 서비스의 연쇄적인 장애(Cascading Failure)로 이어져 비즈니스 연속성에 심각한 타격을 줄 수 있습니다.

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

NIST NVD 공식 영문 원문 (Original Record)

Uncontrolled Recursion vulnerability in Apache Thrift Java bindings. This issue affects Apache Thrift: before 0.24.0. Users are recommended to upgrade to version 0.24.0, which fixes the issue.

자주 묻는 실무 질문 (FAQ — CVE-2026-120135)

FAQ

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

CVE-2026-120135의 기본 점수는 CVSS 8.2 (HIGH)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 0.5%입니다. 외부 네트워크 노출 여부에 따라 선제적인 패치 및 접근 제어가 권장됩니다.

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

주요 영향 벤더는 apache이며, 대상 컴포넌트는 thrift입니다. 상세 영향 범위: Apache Thrift Java 바인딩 0.24.0 미만 모든 버전

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

[권장 조치] Apache Thrift Java 라이브러리 의존성을 최신 보안 패치가 적용된 0.24.0 이상 버전으로 즉시 업그레이드하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2026-120135 Apache Thrift Java 바인딩 제어되지 않는 재귀 호출로 인한 서비스 거부(DoS) 취약점 (CVE-2026-120135) (CVSS 8.2) - 패치 및 보안 권고 | CVE Pulse