보안정보

글로벌 정보보안 리더 윈스

[CVE-2020-13954] Apache CXF services styleSheetPat

침해사고분석팀 2021.01.08

CXF, Technology

 

 

Apache CXF에 Cross Site Script(XSS) 취약점이 존재합니다.

 

Apache CXF는 웹 서비스를 편리하게 구축하고, 개발하는 데 필요한 기반을 제공하는 오픈 소스 프레임워크 입니다. 

 

CXF는 JAX-WS 및 JAX-RS와 같은 프론트엔드 프로그래밍 API를 이용하여 서비스를 구축하고 개발할 수 있도록 지원합니다.

 

기본적으로 Apache CXF는 사용 가능한 이름 및 주소 목록이 포함된 /services 페이지를 생성합니다.

 

하지만 해당 웹 페이지는 reflected XSS 공격에 취약하며 원격의 공격자는 해당 페이지에 자바스크립트를 삽입하여 공격할 수 있습니다.

 

공격 성공 시, 임의의 코드가 실행될 수 있습니다.

 

 

취약점 설명

 

NVD - CVE-2020-13954

CVSS v2.0 Severity and Metrics:

Base Score: 4.3 MEDIUM

 

 

[그림1. NVD 내역]

 

 

 

취약점 분석

 

해당 취약점은 /services/ 경로의 입력값 유효성 검증 부족으로 인해 발생합니다.

 

/JavaFirstSpringSupport/services/ 경로에 자바스크립트 구문을 포함시켜 서버에 요청할 수 있습니다.

 

취약한 시스템은 버전은 Apache CXF 3.3.8 및 3.4.1 미만 버전들이며 해당 취약점에 대한 패치가 벤더사에 의해 제공되고 있습니다.

 

변경된 소스에서는 escapeHtml4 함수를 이용하여 특수문자를 치환하여 처리하고 있습니다.

 

[그림2. GitHub 소스 변경 내역]

 

 

 

공격 분석 및 테스트

 

CVE-2020-13954의 공격 패킷은 다음과 같습니다.

 

 

[그림3. 공격 패킷]

 

 

 

취약점 대응 방안

 

1. 최신 버전 사용

 

해당 벤더사가 발표한 보안 권고문을 참고하여 최신의 버전으로 업데이트합니다.

http://cxf.apache.org/security-advisories.data/CVE-2020-13954.txt.asc?version=1&modificationDate=1605183670659&api=v2

 

 

2. WINS Sniper 제품군 대응 방안

 

Apache CXF services styleSheetPath XSS