포스팅 내용

국내외 보안동향

Wordpress CMS 플랫폼에서 DoS 취약점 발견!

Unpatched DoS Flaw Could Help Anyone Take Down WordPress Websites


보안연구원은 최근 워드프레스에서 취약점을 발견하였습니다.


해당 취약점을 이용하면, 네트워크 레벨의 DDoS 공격에 필요한  큰 대역폭 없이도, 단일 컴퓨터만으로 워드프레스 웹사이트를 다운시킬 수 있습니다. 


해당 취약점 번호는 CVE-2018-6389로, 대부분의 워드프레스가 이 취약점에 영향을 받습니다.


이번에 발견된 취약점은 Wordpress CMS에 내장되어 있는 “load-scripts.php”가 사용자 정의 request를 처리하는 방식에 존재합니다. 


"load-scripts.php"는 관리자가 여러 JavaScript 파일을 단일 request로 결합하여 홈페이지의 성능이 개선되고 더 빨리 로드 될 수 있도록 설계되었습니다. 


하지만 이 스크립트는 로그인 하기 전 관리자의 로그인 페이지(wp-login.php)에서 동작해야 하는데, 이때 어떠한 인증 단계도 추가해 놓지 않아 누구나 접근이 가능하게 됩니다. 




관리자가 설치한 플러그인과 모듈들에 따라, 이 스크립트는 "load" 매개변수를 사용하고 쉼표로 띄어쓰기를 표시하는 방식을 이용하여 사용할 JavaScript 파일을 불러옵니다. 


URL 예시는 다음과 같습니다. 

https://your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery


홈페이지를 로드할 때, "load-scripts.php"는 URL중에 각 JavaScript 파일명을 찾으려 시도하고, 콘텐츠를 단일 파일에 게시하고 이를 사용자의 웹 브라우저로 다시 보냅니다.



Wordpress DoS 공격 매커니즘


연구원들은, 공격자가 URL에 파일명들을 전달하여 load-scripts.php가 가능한 모든 JavaScript 파일(예, 181script)을 호출하도록 합니다. 이 때문에 높은 CPU와 메모리 점유율 때문에 속도가 느려지게 되는 것입니다. 


단일 request로는 전체 홈페이지를 장악하기 힘들지만, tawily는 PoC 스크립트인 doser.py를 이용하여 동일한 URL에 대량의 request를 발생시켜, 서버의 CPU자원을 최대한 소모시켰습니다.  


The Hacker News는 이미 이 DoS 공격이 유효하다는 것을 검증하였습니다. 해커뉴스는 이를 통하여 중간규모의 VPS 서버에서 운영중인 wordpress 홈페이지의 서비스를 중단시켰습니다. Tawily에 따르면, 500개의 request를 전송한 후 부터 서버는 제대로 동작하지 않고 request에 대해 502/053/504 상태 오류를 보여주었습니다. 


단일 기기에서 40Mbps으로 공격으로는 또 다른 고성능 서버를 무력화 시키기에는 충분하지 않습니다. 하지만, 그렇다고 이것이 고성능 서버에서 운영되고 있는 Wordpress 홈페이지를 무력화 시킬수 없다고는 볼 수 없습니다. 그 이유는 어플리케이션레이어에서의 공격은 더 작은 패킷과 대역대로도 가능하기 때문입니다. 


그 때문에 충분한 대역폭을 갖고있거나 충분한 좀비PC를 보유하고 있는 공격자들은 충분히 해당 취약점을 악용하여 대형 홈페이지를 무력화 시킬 수 있습니다. 



조치방법


bash script를 이용하여 패치를 진행

패치가 된 forked version of wordpress 설치






출처 :

https://thehackernews.com/2018/02/wordpress-dos-exploit.html

티스토리 방명록 작성
name password homepage