Wins Security Information

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2020-13942] Apache Unomi context.js RCE
작성일 2021-05-03 조회 4043

Two critical bugs in Apache Unomi allowed attackers to run OS commands on  vulnerable servers | The Daily Swig

 

Apache Unomi에 RCE(Remote Code Execution) 취약점이 존재합니다.
 
Apache Unomi는 Java로 구현된 오픈소스 고객 데이터 플랫폼으로써 고객 및 방문자 데이터를 확인하고 관리할 수 있습니다.
 
해당 취약점은 /context.js 혹은 /context.json 경로를 통해 OGNL, MVEL2 표현식으로 전달되는 값을 제대로 검증하지 않아 발생합니다.
 
공격 성공 시, 임의의 코드가 실행될 수 있습니다.

 

 

취약점 설명

 

NVD - CVE-2020-13942

CVSS v2.0 Severity and Metrics:

Base Score: 7.5 HIGH

 

 

[그림1. NVD 내역]

 

 

 

취약점 분석

 

Apache Unomi의 context.js 엔드포인트를 통해 클라이언트가 JSON 객체 혹은 JavaScript로 보강된 두 개의 JSON 객체를 통해 정보를 검색할 수 있습니다.

 

HTTP 요청에서 filters 항목의 값이 null이 아닌 경우, 컨텐츠에 대한 필터링 조건을 지정할 수 있게 됩니다.

 

[그림 2. JSON 요청 예시]

 

type 값이 profilePropertyCondition 일 때 parameterValues 항목은 MVEL 스크립트로 지정된 값을 가질 수 있으며, propertyName 항목은 OGNL 표현식으로 지정된 값을 가질 수 있습니다.

 

MVEL(MVFLEX Expression Language)은 Java 플랫폼을 위한 동적 및 정적으로 임베드 가능한 표현 언어이며, OGNL(Object Graph Navigation Library)은 Java 객체의 속성을 가져오고 설정하기 위한 표현식 언어입니다.

 

인증되지 않은 원격의 공격자는 Runtime 클래스의 인스턴스를 검색하고 exec 메서드를 호출하여 임의의 코드를 실행할 수 있습니다.

 

공격 분석

 

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

[그림 3. 공격 패킷 (1)]

 

[그림 4. 공격 패킷 (2)]

 

[그림 5. 공격 패킷 (3)]

 

[그림 6. 공격 패킷 (4)]

 

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

 

 

취약점 대응 방안

 

1. 최신 버전 사용

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

https://unomi.apache.org/security/cve-2020-13942.txt

 

 

2. WINS Sniper 제품군 대응 방안

 

[5420] Apache Unomi context.js RCE

[5421] Apache Unomi context.js RCE.A

[5422] Apache Unomi context.js RCE.B

[5423] Apache Unomi context.js RCE.C

[5424] Apache Unomi context.js RCE.D

 

첨부파일 첨부파일이 없습니다.
태그 CVE-2020-13942  Apache Umoni  Nuclei