English Advisory →
CVE-2010-08409.8/CRITICALCISA KEV 등재

Oracle Java JRE 신뢰할 수 있는 메서드 체이닝 원격 코드 실행 취약점 (CVE-2010-0840)

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Oracle Java SE 및 Java for Business 6 Update 18 이하, 5.0 Update 23 이하, 1.4.2_25 이하 버전

파급 효과

공격자가 Java 샌드박스 제한을 완전히 우회하고 대상 시스템에서 원격으로 임의의 코드를 실행하여 기밀성, 무결성, 가용성을 완전히 침해할 수 있습니다

권장 조치

영향받는 레거시 Java 버전을 즉시 최신 패치 버전으로 업데이트하고, 브라우저 내 Java 플러그인 비활성화 및 불필요한 JRE 환경을 제거하십시오

영향받는 제품 및 버전 범위

Oracle Java SE 및 Java for Business 6 Update 18 이하, 5.0 Update 23 이하, 1.4.2_25 이하 버전 (JRE 환경 전체 영향)

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

패치 및 우회 명령어

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

가장 확실한 해결책은 Oracle 공식 CPU(Critical Patch Update)를 적용하여 Java 버전을 최신 상태로 업데이트하는 것입니다.

Debian/Ubuntu 계열 시스템에서 OpenJDK를 사용하는 경우 아래 명령어를 통해 패치를 적용합니다:

bash
# 패키지 리스트 업데이트 및 최신 Java 버전 설치
sudo apt-get update
sudo apt-get install --only-upgrade default-jre default-jdk -y

# 설치된 Java 버전이 취약하지 않은 버전인지 확인
java -version

RedHat/CentOS 계열 시스템의 경우:

bash
# yum을 통한 Java 패키지 업데이트
sudo yum update java-1.8.0-openjdk java-1.8.0-openjdk-devel -y

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

즉각적인 패치가 불가능한 레거시 환경에서는 웹 브라우저 내 Java 플러그인을 비활성화하여 외부 공격 벡터를 차단해야 합니다.

Linux 데스크톱 환경에서 브라우저 Java 플러그인 심볼릭 링크를 제거하는 방법:

bash
# Firefox 브라우저의 Java 플러그인 링크 제거
rm -f ~/.mozilla/plugins/libnpjp2.so
sudo rm -f /usr/lib/mozilla/plugins/libnpjp2.so

Windows 환경에서 그룹 정책(GPO) 또는 레지스트리를 통해 Internet Explorer 내 Java 실행을 차단하는 PowerShell 명령어:

powershell
# Java ActiveX 컨트롤 실행 차단 (Kill-Bit 설정)
$registryPath = 'HKLM:\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{CAFEEFAC-0016-0000-0018-ABCDEFFEDCBA}'
if (-not (Test-Path $registryPath)) {
    New-Item -Path $registryPath -Force
}
New-ItemProperty -Path $registryPath -Name 'Compatibility Flags' -Value 0x00000400 -PropertyType DWord -Force

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

시스템 내에 취약한 구버전 Java가 설치되어 있는지 탐색하고, 웹 서버 로그에서 의심스러운 Java Applet 요청 흔적을 점검하는 스크립트입니다.

시스템 전체에서 취약한 Java 실행 파일 경로 및 버전을 탐색하는 스크립트:

bash
# 시스템 내 모든 java 실행 파일 검색 및 버전 출력
find / -name 'java' -type f 2>/dev/null | while read -r java_bin; do
  if $java_bin -version 2>&1 | grep -qE '1\.(4|5|6)\.0'; then
    echo '[WARNING] 취약한 Java 버전 감지됨:' "$java_bin"
    $java_bin -version 2>&1 | head -n 1
  fi
done
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
SentinelOne Singularity AI EDR
CISA KEV 등재 취약점이므로, 레거시 Java 6 이하 버전을 즉시 격리하거나 최신 LTS 버전으로 마이그레이션하십시오.

패치 재부팅 전까지 서버와 엔드포인트를 노리는 커널 권한 상승(LPE) 공격을 AI 행위 탐지로 차단하세요

Windows 및 Linux 서버의 긴급 OS 패치에는 점검 창(Maintenance Window)이 필요합니다. 패치 전까지 비정상 프로세스 생성과 메모리 악용을 실시간으로 격리하세요.

MITRE ATT&CK 100% 탐지 · 1클릭 자동 롤백

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

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

본 취약점은 Oracle Java Runtime Environment(JRE)에서 권한이 부여된 메서드(Privileged Methods)를 실행할 때 적절한 검증을 수행하지 않아 발생하는 샌드박스 우회 및 원격 코드 실행(RCE) 취약점입니다. Java Applet이나 Web Start와 같은 신뢰할 수 없는 환경에서 실행되는 코드는 시스템 자원에 접근할 수 없도록 엄격한 샌드박스 규제를 받습니다. 그러나 JRE 내부의 특정 API 설계 결함으로 인해, 신뢰할 수 있는 클래스를 상속받았으나 특정 메서드를 재정의하지 않은 신뢰할 수 없는 객체 또는 인터페이스의 신뢰성 검증 메커니즘을 악용하여 권한 상승이 가능해집니다. 이를 '신뢰할 수 있는 메서드 체이닝(Trusted Methods Chaining)' 취약점이라고 부릅니다.

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

공격자는 악성 Java Applet이 포함된 웹페이지를 제작한 후 사용자가 이를 방문하도록 유도합니다. 사용자가 페이지에 접속하면 브라우저의 Java 플러그인을 통해 악성 애플릿이 로드됩니다. 이때 애플릿은 JRE 내부의 신뢰할 수 있는 클래스(예: Expression 또는 Statement 클래스 등 Reflection API 관련 구성요소)를 체이닝 방식으로 호출합니다. 시스템 권한으로 동작하는 신뢰할 수 있는 메서드가 호출되는 과정에서, 호출 스택(Call Stack) 상의 권한 검사(Access Controller Check)가 부적절하게 우회됩니다. 결과적으로 공격자는 샌드박스 제한을 완전히 탈출하여 로컬 시스템 권한으로 임의의 OS 명령어를 실행하거나 악성코드를 다운로드 및 실행할 수 있게 됩니다.

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

본 취약점은 CVSS 9.8의 치명적인(Critical) 등급으로 평가되었으며, CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 공격에 활발히 악용된 이력이 확인되었습니다. 공격자는 인증되지 않은 원격 상태에서 사용자 개입을 최소화하여 대상 시스템의 제어권을 완전히 획득할 수 있습니다. 기업 인프라 내에서 레거시 Java 애플리케이션을 구동하는 서버나 엔드포인트가 이 취약점에 노출될 경우, 내부망 침투의 교두보로 악용되어 랜섬웨어 감염, 기밀 데이터 유출, 시스템 파괴 등 심각한 비즈니스 중단 사태를 초래할 수 있습니다.

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

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

Unspecified vulnerability in the Java Runtime Environment component in Oracle Java SE and Java for Business 6 Update 18, 5.0 Update 23, and 1.4.2_25 allows remote attackers to affect confidentiality, integrity, and availability via unknown vectors. NOTE: the previous information was obtained from the March 2010 CPU. Oracle has not commented on claims from a reliable researcher that this is related to improper checks when executing privileged methods in the Java Runtime Environment (JRE), which allows attackers to execute arbitrary code via (1) an untrusted object that extends the trusted class but has not modified a certain method, or (2) "a similar trust issue with interfaces," aka "Trusted Methods Chaining Remote Code Execution Vulnerability."

자주 묻는 실무 질문 (FAQ — CVE-2010-0840)

FAQ

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

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

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

주요 영향 벤더는 oracle, apple이며, 대상 컴포넌트는 java_se, java_for_business, java_runtime_environment입니다. 상세 영향 범위: Oracle Java SE 및 Java for Business 6 Update 18 이하, 5.0 Update 23 이하, 1.4.2_25 이하 버전 (JRE 환경 전체 영향)

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

[권장 조치] 영향받는 레거시 Java 버전을 즉시 최신 패치 버전으로 업데이트하고, 브라우저 내 Java 플러그인 비활성화 및 불필요한 JRE 환경을 제거하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2010-0840 Oracle Java JRE 신뢰할 수 있는 메서드 체이닝 원격 코드 실행 취약점 (CVE-2010-0840) (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse