Wins blog

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

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보[CVE-2017-6818] WordPress 4.7.2 XSS
작성일 2017-08-25 조회 2106

개요


WordPress 4.7.2에 XSS 취약점이 존재한다. 해당 취약점은 Taxonomy Term Names 를 이용한 취약점으로, wp-admin/js/tags-box.js에서 발생한다. WordPress 에서는 4.7.3으로 업데이트 하면서, 해당 취약점 외의 여러 취약점들에 대해서도 패치를 진행 하였다.
 
[그림1] WordPress 4.7.3 패치 내역
 
 
 

확인 내역


문제가 되는 JS 코드는 다음과 같다.
 
xbutton = $( '' + '' + '' + window.tagsSuggestL10n.removeTerm + ' ' + val + '' + '' );
 
 
패치된 내용과 패치 되기 전을 살펴보면, val 변수가 span.html() 로 변경 된 것을 확인 할 수 있다.
 
[그림2] 패치 된 내용 비교
 
 
해당 취약점이 발생하는 JS 파일은 tags-box.js 파일로, 페이지 label을 추가하거나 수정하는 경우 사용자가 직접 태그를 입력하고, 기사 태그 삭제를 위한 입력 박스 아래에 버튼을 동적으로 생성한다.
 
실제 XSS 취약점을 일으키기 위해선, WordPress에 태그 입력 박스가 있는 페이지에 다음의 공격 구문을 입력 함으로 공격 할 수 있다.
 
[그림3] tag box
 
 
* 공격구문
span
><svg onload=prompt(/XSS/)>
 
 
tag box에 위의 공격 구문을 입력하게 되면, XSS 이 실행되는 것을 확인 할 수 있다.
 
[그림4] 공격 구문 Input
 
 
[그림5] XSS 공격 성공
 
 
 
 

대응방안

 
1. XSS 공격 대응 방법
1) 중요한 정보를 쿠키에 저장하지 않도록 한다.
2) Script code에 사용되는 특수문자에 대해 정확히 필터링 한다.
3) 게시판에서 HTML 포맷의 입력을 할 수 없도록 설정한다.
4) 관리자나 개발자가 주기적으로 점검을 통해 XSS 공격에 노출되지 않도록 한다.
 
2. Sniper IPS
당사 IPS에서는 아래와 같은 패턴으로 대응이 가능하다.
[5939] Common XSS Injection(svg/onload)

 

3. 최신 버전 업데이트
- WordPress 4.7.3 을 설치한다. (다운로드)
[보안 권고문]
https://wordpress.org/news/2017/03/wordpress-4-7-3-security-and-maintenance-release/
 
 
 

참고

 

https://wordpress.org/news/2017/03/wordpress-4-7-3-security-and-maintenance-release/

https://github.com/WordPress/WordPress/commit/9092fd01e1f452f37c313d38b18f9fe6907541f9

https://securityonline.info/wordpress-4-7-2-cross-site-scripting-xss-via-taxonomy-term-names/?utm_source=ReviveOldPost&utm_medium=social&utm_campaign=ReviveOldPost

첨부파일 첨부파일이 없습니다.
태그 CVE-2017-6818  WordPress 4.7.2  XSS  Taxonomy Term Names