1. 취약점 개요

CVE 코드

CVE – 2018 - 6015

분류

Information Disclosure

대상 어플리케이션

WordPress Plugin Email Subscribers & Newsletters 3.4.7

취약 코드

/email-subscribers /export/ export-email-address.php

실행 환경

Apache 2.0 / Windows 7 x64 / Wordpress 5.1.1

WordPress Plugin Email Subscribers & Newsletters 3.4.7이하 버전에서 발견된 취약점이다. Email Subscribers & Newsletters 플러그인은 블로그의 새로운 게시글을 이메일을 통하여 전달해주는 뉴스레터 형식의 플러그인이다. 구독자 정보에 접근하는 권한을 설정해주지 않아 관리자가 아닌 제 3자가 접근할 수 있는 취약점 발생하였다. 공격자는 해당 정보를 악용하여 제 2의 피해를 입힐 수 있다.

 

1.2 환경 구성

워드프레스 수동 설치를 진행한다.

[그림 1] 취약한 플러그인 설치

 

구독자 정보를 생성한다.

[그림 2] 구독자 이메일 생성

1.3 공격 시나리오

공격자는 구독자 정보를 가져와 관리자를 사칭하여 악성메일을 유포 할 수 있다.

[그림 7 공격 시나리오]

 


2. 상세 분석

2.1 발생원리

파일을 받을 때 아무런 검증을 하지 않는다.

공격자는 es에 export를 get으로 받고 post로 옵션을 설정해 주면 구독자의 이메일을 받아 볼 수 있다.

[그림 3] export-email-address.php  

 

2.2 취약점 확인

Chrome 개발자 도구를 이용하여 구독자 정보를 받을 수 있는 폼을 생성하였다.

 

[그림 4] 취약한 코드를 참고하여 폼 생성

 

플러그인에 등록된 이메일 정보들을 가져올 수 있다.

 

[그림 5] email-subscribers.csv

 

공격자는 5가지 옵션을 이용하여 원하는 정보를 가져 올 수 있다.

[그림 6] 5가지 옵션

 


 

3. 대응 방안

구독자 파일을 받아올 때 사용자 검증을 한다.

현재 유저가 WP_User가 아니거나 관리권한이 없으면 스크립트를 종료시킨다.

[그림 8] 변경 코드
[그림 9] 코드가 실행되지 않는다.

 


4. 참고 자료

* Email Subscribers & Newsletters 플러그인

https://pluginarchive.com/wordpress/email-subscribers/v/3-4-7

https://pluginarchive.com/wordpress/email-subscribers/v/3-4-8

* Exploit-DB

https://www.exploit-db.com/exploits/43872

*CVE 2018-6015

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6015

 

CVE-2018-6015.pdf
0.33MB

+ Recent posts