English Advisory →
CVE-2012-46819.8/CRITICALCISA KEV 등재CWE-284

Oracle Java SE 7 SecurityManager 우회 및 원격 코드 실행(RCE) 취약점 (CVE-2012-4681) 분석 및 대응 가이드

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Oracle Java SE 7 Update 6 및 이전 버전의 JRE(Java Runtime Environment) 환경

파급 효과

공격자가 악의적으로 제작한 Java 애플릿을 통해 SecurityManager 제한을 완전히 우회하고 대상 시스템에서 권한 제한 없이 임의의 코드를 실행할 수 있습니다

권장 조치

영향받는 레거시 Java 버전을 즉시 최신 패치 버전(Java SE 7 Update 7 이상)으로 업데이트하거나 브라우저 내 Java 플러그인 실행을 비활성화하십시오

영향받는 제품 및 버전 범위

Oracle Java SE 7 Update 6 및 이전 버전 (JRE 1.7.0_06 이하 버전 전체)

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

패치 및 우회 명령어

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

가장 확실한 해결책은 Oracle 공식 패치가 적용된 Java SE 7 Update 7 이상 버전으로 업그레이드하는 것입니다. 데비안/우분투 및 RHEL 계열 리눅스 환경에서 패키지를 업데이트하는 명령어는 다음과 같습니다:

bash
# Debian/Ubuntu 계열 시스템 패키지 업데이트 및 Java 업그레이드
sudo apt-get update
sudo apt-get install --only-upgrade default-jre default-jdk -y

# RHEL/CentOS 계열 시스템 Java 업그레이드
sudo yum update java-1.7.0-openjdk -y

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

즉각적인 패치가 어려운 경우, 웹 브라우저에서 Java 플러그인 실행을 완전히 차단하여 공격 벡터를 제거해야 합니다. 또한 시스템 환경 변수에서 Java Deployment 규칙을 강화합니다.

bash
# Linux 환경에서 브라우저 Java 플러그인 심볼릭 링크 제거 (Firefox 예시)
rm -f ~/.mozilla/plugins/libnpjp2.so
sudo rm -f /usr/lib/firefox/plugins/libnpjp2.so

# Java Control Panel을 호출하여 '브라우저에서 Java 콘텐츠 활성화' 옵션을 수동으로 해제하는 것을 권장합니다.

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

시스템 내에 취약한 Java 버전이 구동 중인지 확인하고, 웹 서버 로그 등에서 악성 클래스(Gondzz, Gondvv) 호출 흔적이 있는지 점검하는 스크립트입니다.

bash
# 1. 현재 설치된 Java 버전 확인 및 취약 버전 판별
java_version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}')
echo "[+] Current Java Version: $java_version"
if [[ "$java_version" == 1.7.0_0[1-6]* ]]; then
  echo "[-] WARNING: Vulnerable Java 7 version detected! (CVE-2012-4681)"
fi

# 2. 웹 서버 액세스 로그에서 알려진 익스플로잇 클래스 파일 요청 흔적 검색
echo "[+] Searching for malicious Java class requests in web logs..."
grep -riE 'Gondzz|Gondvv' /var/log/nginx/ /var/log/apache2/ /var/log/httpd/ 2>/dev/null
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
SentinelOne Singularity AI EDR
취약한 레거시 Java 7 환경을 즉시 최신 패치 버전으로 업데이트하거나, 브라우저 내 Java 플러그인 사용을 전면 중단하십시오.

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

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

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

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

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

본 취약점(CVE-2012-4681)은 Oracle Java Runtime Environment(JRE) 7 환경에서 신뢰할 수 없는 Java 애플릿이 시스템 보안의 핵심 통제 장치인 SecurityManager를 우회할 수 있도록 허용하는 심각한 취약점입니다. 발생 원인은 Java 표준 라이브러리 내의 특정 API 설계 결함에 있습니다. 구체적으로 com.sun.beans.finder.ClassFinder.findClass 메소드와 Class.forName 호출 과정에서 발생하는 예외 처리 메커니즘을 악용하여, 원래는 접근이 제한되어야 하는 내부 패키지 클래스(예: sun.awt.SunToolkit)에 접근할 수 있게 됩니다.

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

실제 공격(In-the-Wild)에서는 Gondzz.class 및 Gondvv.class로 명명된 악성 클래스 파일들이 활용되었습니다. 공격 메커니즘은 크게 두 단계로 나뉩니다: 1) 제한된 클래스 획득: 공격자는 ClassFinder.findClass를 호출하여 접근이 금지된 sun.awt.SunToolkit 클래스 객체를 획득합니다. 이 과정에서 예외 처리를 교묘히 유도하여 보안 검증 단계를 우회합니다. 2) 리플렉션 및 권한 상승: 획득한 클래스를 기반으로, 즉각적인 호출자(Immediate Caller)가 신뢰된 상태인 것처럼 가장하는 리플렉션 기술을 사용합니다. 이를 통해 getField 메소드를 호출하여 내부의 프라이빗(Private) 필드에 접근하고 값을 수정함으로써, 샌드박스 환경을 강제하는 SecurityManager를 무력화하거나 완전히 비활성화합니다. 결과적으로 공격자의 코드가 시스템 로컬 권한으로 실행됩니다.

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

본 취약점은 CVSS 9.8의 치명적(Critical) 등급으로, CISA KEV(Known Exploited Vulnerabilities) 목록에 등재될 만큼 실제 침해 사고에 적극적으로 악용된 이력이 있습니다. 사용자가 악성 Java 애플릿이 포함된 웹 페이지를 방문하는 것만으로도 드라이브 바이 다운로드(Drive-by Download) 형태로 대상 PC나 서버가 완전히 장악될 수 있습니다. 이는 기업 내부망 침투, 기밀 데이터 유출, 랜섬웨어 감염 등 치명적인 비즈니스 중단 사태로 이어질 수 있습니다.

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

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

Multiple vulnerabilities in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 6 and earlier allow remote attackers to execute arbitrary code via a crafted applet that bypasses SecurityManager restrictions by (1) using com.sun.beans.finder.ClassFinder.findClass and leveraging an exception with the forName method to access restricted classes from arbitrary packages such as sun.awt.SunToolkit, then (2) using "reflection with a trusted immediate caller" to leverage the getField method to access and modify private fields, as exploited in the wild in August 2012 using Gondzz.class and Gondvv.class.

자주 묻는 실무 질문 (FAQ — CVE-2012-4681)

FAQ

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

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

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

주요 영향 벤더는 oracle이며, 대상 컴포넌트는 java_se, jre입니다. 상세 영향 범위: Oracle Java SE 7 Update 6 및 이전 버전 (JRE 1.7.0_06 이하 버전 전체)

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

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

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2012-4681 Oracle Java SE 7 SecurityManager 우회 및 원격 코드 실행(RCE) 취약점 (CVE-2012-4681) 분석 및 대응 가이드 (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse