DEEP DIVE REPORT

CVE-2026-92877: Eclipse JAXB RI의 XML 외부 엔터티(XXE) 처리 조건과 Java XML 입력 경계 점검

SecurityDesk
• 2026.10.13 • 조회 1

개요

개요 인포그래픽
CVE-2026-92877은 Eclipse JAXB RI(jaxb-ri core)의 XML 외부 엔터티(XXE) 처리 취약점입니다. CVE 기록 기준으로 CVSS 8.3(HIGH), CWE-611로 분류되어 있으며 Eclipse Foundation의 CNA 기록이 근거입니다. CVE-2026-92877 기록

핵심은 JAXB 팩토리 메서드가 과거 FEATURE_SECURE_PROCESSING 단일 기능에만 의존해 외부 엔터티 해석을 방지해 왔다는 점입니다. 이 기능 하나로는 외부 엔터티 해석을 차단하지 못하는 JAXP 구현 환경에서는 해당 보안 처리가 우회될 수 있는 조건이 생깁니다. 신뢰할 수 없는 XML을 JAXB 언마샬링으로 처리하는 Java 애플리케이션을 운영하는 조직은 우선 점검 대상입니다.

영향 범위

이 취약점이 적용될 수 있는 조건은 다음 항목들의 조합으로 정리할 수 있습니다.

  • Eclipse JAXB RI(jaxb-ri core)의 JAXB 팩토리 메서드로 XML을 처리하는 Java 애플리케이션
  • FEATURE_SECURE_PROCESSING만으로 외부 엔터티 해석을 차단하지 않는 JAXP 구현 환경에서 실행되는 경우
  • 외부 입력 등 신뢰할 수 없는 출처의 XML을 JAXB 언마샬링으로 처리하는 코드 경로

조건이 함께 성립할 때 취약 조건에 해당합니다. 다만 특정 JAXP 구현체 목록과 정확한 영향 버전 상하한은 근거 문서에서 명시적으로 확인되지 않아, 이 부분은 기술적 분석의 한계로 다시 다룹니다.

기술적 분석

취약 메커니즘

JAXB의 팩토리 메서드는 역사적으로 FEATURE_SECURE_PROCESSING 기능 하나에 의존해 외부 엔터티 해석을 막아 왔습니다. 그러나 그 기능만으로 외부 엔터티 해석을 차단하지 않는 JAXP 구현 위에서는 이 방어가 충분하지 않아, 외부 엔터티를 포함한 XML 입력이 처리될 때 XXE 계열 문제가 발생할 수 있습니다.

유지 관리자 측은 'Complete hardening' PR #2013을 병합해 이 문제를 완화했습니다. PR #2013 이 조치는 팩토리에 DOCTYPE 선언 거부(DISALLOW_DOCTYPE_DECL true)와 외부 일반 엔터티 비활성화(EXTERNAL_GE false) 등 복수의 JAXP 보안 기능을 명시적으로 설정하는 방향입니다. 단일 기능 의존을 명시적 다중 방어 설정으로 전환한 것이 핵심입니다.

조건으로 해석하면, 이 취약점은 'FEATURE_SECURE_PROCESSING만으로 충분하지 않은 JAXP 구현'과 '외부 엔터티가 포함될 수 있는 XML 입력 경로'가 동시에 존재할 때 성립합니다. 제공된 근거가 뒷받침하는 핵심 차이는, FEATURE_SECURE_PROCESSING 단독 의존 상태에서 DOCTYPE 선언 거부와 외부 일반 엔터티 비활성화 같은 명시적 하드닝 설정을 함께 적용했는지 여부입니다.

점검 범위에 대한 의미

실제 악용 사례, 공개 PoC, 독립적 제3자 분석 문서는 조사 시점에 확인되지 않았고 CISA KEV 등재 여부도 미확인입니다. 이 때문에 침해 지표(IPC/IOC) 기반 탐지 권고는 현재 근거가 없어 하지 않습니다. 대신 점검 범위는 '신뢰할 수 없는 XML 입력이 JAXB 처리 경로로 유입되는지'에 맞춰 좁히는 것이 타당합니다.

이 해석은 현재 환경에 적용하면 점검 우선순위가 생깁니다. 먼저 JAXB 언마샬링을 거치는 XML 입력 경로와 외부 유입 지점을 식별하고, 해당 경로가 실제 외부 입력을 다루는지 확인하는 것이 먼저입니다. 이어 FEATURE_SECURE_PROCESSING 단일 설정만으로 충분하다고 전제했던 부분이 실제로 어떤 JAXP 구현에서 실행되는지 점검하는 것이 뒤를 잇습니다. 패치 우선순위는 확인된 CVSS 8.3(HIGH) 등급과 영향받는 환경 조건을 기준으로 조직에서 판단할 수 있습니다.

확인되지 않은 한계

  • 영향받는 버전의 정확한 상하한 경계는 근거 문서에서 명시적으로 확인되지 않았습니다.
  • PR #2013의 병합은 확인되지만, 이 수정이 포함된 배포 릴리스의 정확한 버전은 제공된 근거에서 확인되지 않았습니다. 최신 릴리스 4.0.9의 존재만 확인된 상태입니다.
  • FEATURE_SECURE_PROCESSING의 동작 차이가 나는 구체적 JAXP 구현 목록은 근거에 없어 특정 구현체를 지목할 수 없습니다.
  • CISA KEV 등재 여부와 공개 PoC 존재 여부는 조사 시점에 확인되지 않았습니다.

대응 방안

먼저 확인할 것

  • 신뢰할 수 없는 XML 입력을 JAXB 언마샬링으로 처리하는 애플리케이션과 서비스를 인벤토리에서 식별하고, JAXB RI 사용 여부를 확인합니다.
  • 해당 코드 경로에서 FEATURE_SECURE_PROCESSING 설정만으로 외부 엔터티를 차단하고 있다고 가정하지 말고, 실제 JAXP 구현에서 해당 설정의 효과를 점검합니다.
  • 완화 릴리스로 업그레이드 전까지, 애플리케이션 레벨에서 신뢰할 수 없는 XML의 DOCTYPE 선언 거부와 외부 일반 엔터티 비활성화 설정을 적용하는 것을 검토합니다. 유지 관리자 완화 방향과 동일한 제어입니다.

지속적 완화

  • 완화 조치가 병합된 jaxb-ri 버전으로 업그레이드합니다. 유지 관리자의 'Complete hardening' PR #2013의 병합은 확인되지만, 이 수정이 포함된 배포 릴리스의 정확한 버전은 제공된 근거에서 확인되지 않았습니다. 조직의 버전 관리 정책에 맞춰 업그레이드를 예약하세요.
  • 업그레이드 전후로, 신뢰할 수 없는 XML 입력 경로에 대해 유지 관리자 PR #2013이 명시한 DOCTYPE 선언 거부(DISALLOW_DOCTYPE_DECL true)와 외부 일반 엔터티 비활성화(EXTERNAL_GE false) 설정을 적용하는 것을 검토하세요.
  • 장기적으로 XML 파싱 보안 설정을 FEATURE_SECURE_PROCESSING 단일 설정이 아닌 명시적인 복수 JAXP 보안 기능 설정으로 표준화합니다.

참고자료

함께 읽으면 좋은 글

본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.

로그인

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!

IT 도구 서랍

→ Unix: 2025-01-15T09:30:00
→ 날짜: 1736934600

→ ASCII: ABC
→ 문자: 65 66 67

ASCII 코드표 — 클릭하면 입력란에 추가

DecHex약어설명
DecHex문자
DecHex문자

→ 유니코드: 홍길동
→ 문자: \ud64d\uae38\ub3d9