Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

취약점 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2020-8813] Cacti graph_realtime.php RCE
작성일 2020-10-23 조회 61

 

 

Cacti 1.2.8 버전에 RCE(Remote Code Execution) 취약점이 존재합니다.
 
Cacti는 다양한 데이터 소스를 폴링하여 수집된 데이터를 기본 MySQL DB에 저장할 수 있는 라운드 로빈 데이터 베이스 도구(RRDtool)에 대한 오픈 소스 프론트 엔드 인터페이스입니다.
 
해당 취약점은 graph_realtime.php에서 부적절한 유효성 검사로 인해 일어납니다.
 
공격 성공 시, 원격의 공격자는 cookie의 쉘 메타 문자를 통해 악의적으로 조작된 요청을 전송하여 임의의 코드를 실행시킬 수 있습니다.

 

 

 


취약점 설명

 

NVD - CVE-2020-8813

CVSS v2.0 Severity and Metrics:

Base Score:  9.3 HIGH

 


 

[그림1. NVD 내역]

 

 

 


취약점 분석

 

해당 취약점은 graph_realtime.php내에서 발생합니다.

 

graph_realtime.php 파일의 #171번 라인에서 session_id의 값이 

#173번 라인에서 shell_exec 함수를 통해 실행되는 것을 확인할 수 있습니다.

 

 

[그림2. graph_realtime.php 취약한 코드 중 일부]

 

 

 

PoC 코드를 살펴보면, 

; 문자를 입력해 변수에 대한 입력을 임의로 종료시킨 후

${IFS}bash 변수를 사용해 공백 사용을 피한 것을 확인할 수 있습니다.

 

이를 통해 Cookie 값에 악의적으로 조작된 요청을 전송해 ReverseShell을 실행시킬 수 있습니다.

 

 

[그림3. CVE-2020-8813 PoC 중 일부]

 

 

 

패치된 버전에서는 session_id 값을 sha256을 통해 해시하는 것을 확인할 수 있습니다.

 

 

[그림4. graph_realtime 패치 내역]

 

 

 

공격 분석 및 테스트

 

 

CVE-2020-8813에 탐지되는 패킷은 다음과 같습니다.

공격 성공 시, Cookie 값에 조작된 요청을 전송해 Reverseshell을 실행시킬 수 있습니다.

 

 

[그림5. CVE-2020-8813 exploit 패킷]

 

 

 

 

[그림7. CVE-2020-8813 공격 성공]

 

 

 


취약점 대응 방안

 

1. 최신 버전 사용

 

해당 벤더사에서 발표한 보안 권고문을 참고하여 패치를 적용합니다.

https://cacti.net/download_cacti.php

 

 

2. WINS Sniper 제품군 대응 방안

 

Cacti graph_realtime.php RCE

 

첨부파일 첨부파일이 없습니다.
태그 Cacti  CVE-2020-8813