용어와 정의
영문 또는 원어: XXE
영문 정식명칭: XML External Entity
한글명: 외부 엔터티 취약점
외부 엔터티 취약점은 신뢰할 수 없는 확장성 생성 언어 문서를 처리하는 분석기가 외부 엔터티를 해석하도록 허용할 때 파일 노출이나 의도하지 않은 외부 요청 등이 생길 수 있는 문제입니다.
정확한 의미와 원리
외부 엔터티는 문서 밖의 내용을 참조하는 기능입니다. 입력 문서가 참조를 지정하고 분석기가 이를 따라가면 애플리케이션이 의도하지 않은 파일이나 통신 대상에 접근할 수 있습니다. 위험은 분석기와 라이브러리 설정 및 버전에 따라 달라집니다.
쉽게 이해하는 예시
문서 업로드 기능이 문서를 읽는 과정에서 외부 자원 참조까지 처리하는 상황입니다. 사용자가 올린 문서 본문만 처리하려던 기능이 서버의 추가 접근으로 이어지는 것이 문제입니다.
종류와 버전 및 관련 개념의 차이
정식 명칭과 문서 형식
XML External Entity는 확장성 생성 언어의 외부 엔터티를 뜻합니다. XML의 정식 명칭은 Extensible Markup Language입니다. 문서 형식 자체와 위험한 외부 참조 처리는 구분합니다.
서버 측 요청 위조와의 관계
외부 자원 접근이 서버 측 요청 위조로 이어질 수 있지만 모든 서버 측 요청 위조가 외부 엔터티 때문인 것은 아닙니다. 파일 읽기와 자원 소모 등 다른 영향도 검토합니다.
적용 대상과 조건
문서 업로드와 변환 기능에서 분석기의 공식 보안 설정을 확인합니다. 외부 자원 접근과 불필요한 문서 형식 정의 기능을 제한하는 방법은 분석기별로 다릅니다.
확인할 부분과 오해하기 쉬운 점
확장성 생성 언어 문서 자체가 모두 위험하다는 뜻은 아닙니다. 한 제품의 설정 문장을 다른 분석기에 그대로 적용하지 말고 라이브러리와 버전에 맞춰 확인해야 합니다.
공식 참고 자료
아래 공식 자료의 정의와 적용 범위를 바탕으로 작성했습니다. 예시는 개념을 설명하기 위한 상황이며 실제 작업 기록을 뜻하지 않습니다.
검토 기준일: 2026-10-26
함께 확인할 용어와 안내 글
함께 이해할 용어: SSRF 서버 측 요청 위조, Insecure Deserialization 안전하지 않은 역직렬화
관련 용어와 글
함께 비교할 용어
- BFLA (Broken Function Level Authorization) 기능 수준 권한 부여 취약점
- Insecure Deserialization 안전하지 않은 역직렬화
- Path Traversal 경로 탐색 취약점
- HTTP Request Smuggling (Hypertext Transfer Protocol Request Smuggling) 하이퍼텍스트 전송 프로토콜 요청 밀수
- Prototype Pollution 프로토타입 오염
- Credential Stuffing 유출 자격 증명 대입
- Password Spraying 비밀번호 스프레이 공격
- IDOR 안전하지 않은 직접 객체 참조