Wins Security Information

취약점 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2021-24209] WordPress WP Super Cache RCE
작성일 2021-07-23 조회 381

 

WP Super Cache – 워드프레스 플러그인 | WordPress.org 한국어

 

 

WordPress Plugin WP Super Cache 에 RCE(Remote Code Execution)취약점이 존재합니다.

 

해당 취약점은 /wp-content/plugins/wp-super-cache/wp-cache.php에서 wp_cache_location 매개 변수에 대한 부적절한 유효성 검사로 인해 발생합니다. 원격의 공격자는 악의적으로 조작된 HTTP 요청을 전송하여 공격할 수 있습니다.

 

 

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

 

 

취약점 설명

 

NVD - CVE-2021-24209

CVSS v2.0 Severity and Metrics:  

Base Score :  9.0 HIGH

 

 

 

[그림1. NVD 내역]

 

 

 

취약점 분석

 

 해당 취약점은 wp-content/plugins/wp-super-cache/wp-cache.php에서 wp_cache_location 파라미터에 검증 미흡으로 발생합니다. [그림 2]를 보면 wp_cache_location에 대한 값이 그대로 $dir 파라미터에 들어갈 수 있음을 볼 수 있습니다.

 

 

 

[그림 2. 취약한 버전의 wp-cache.php 코드 일부]

 

 

따라서, 해당 플러그인의 Cache Location에 공격자가 임의로 코드를 넣을 수 있습니다. 

 

 

 

[그림 3. 악성 php code 삽입]

 

 

그 결과, wp-content/wp-cache-config.php에서 cache_path 파라미터를 정의하는 부분에서 code injection이 된 것을 확인할 수 있습니다. [그림 4]는 code injection이 일어나기 전의 wp-cache-config.php파일이며 [그림 5]는 code injection이 일어나고 난 후의 wp-cache-config.php 파일입니다. 

 

 

[그림 4. Code Injection before]

 

 

 

[그림 5. Code Injection After]

 

 

이 취약점이 패치 된 버전에는 [그림 6] 과 같이 wp-cache.php 코드에서 wp_cache_location의 값이 제대로 된 값인지 검증하는 루틴이 추가된 것을 볼 수 있습니다.

 

 

 

[그림 6. 최신 버전의 wp-cache.php 코드 일부]

 

 

이와 같은 공격을 이용하여 PoC라는 파일을 웹 서버 안에 생성 시켜보았습니다. 그 결과, [그림 7]과 같이 wp-admin 폴더 안에 PoC라는 파일이 생성된 것을 볼 수 있었습니다.

 

 

[그림 7. PoC 파일이 생성된 모습]

 

 

 

공격 분석 및 테스트

 

CVE-2021-24209의 공격 패킷은 다음과 같습니다.

 

 

 

[그림 8. 공격 패킷]

 

 

 

취약점 대응 방안

 

1. 최신 버전 사용

 

해당 벤더사에서 발표한 최신의 버전으로 업데이트한다.

https://ko.wordpress.org/plugins/wp-super-cache/

 

 

2. WINS Sniper 제품군 대응 방안

 

[5546] WordPress Plugin WP Super Cache wp-cache.php RCE

첨부파일 첨부파일이 없습니다.
태그 CVE-2021-24209  WP Super Cache