상세 컨텐츠

본문 제목

워드프레스 Ad Inserter 플러그인 취약점 발견

국내외 보안동향

by 알약(Alyac) 2019. 7. 16. 13:33

본문

Critical Bug in WordPress Plugin Lets Hackers Execute Code


웹사이트 20만 곳 이상에 설치된 Ad Inserter 워드프레스 플러그인에서 인증된 공격자가 원격으로 PHP 코드를 실행하는 것을 허용하는 치명적인 보안 문제가 발견되었습니다.


Ad Inserter는 광고를 최적의 위치에 삽입할 수 있도록 하는 많은 고급 광고 기능을 갖춘 광고 관리 플러그인입니다.


또한 구글 애드센스, 구글 애드 매니저(퍼블리셔용 DFP – DoubleClick), 아마존 네이티브 쇼핑 광고, media.net 및 로테이팅 배너를 포함한 모든 광고를 지원합니다.


CSRF(Cross-site request forgery) 보호 기능 오용


이 취약점은 만료된 요청이나 반복된 요청을 차단하는데 사용하는 일회성 토큰인 Nonce를 사용합니다.


Nonce란?


워드프레스(WordPress) 특정 유형의 오용, 악의적인 접근 또는 그 밖의 다른 방법으로부터 URL과 양식을 보호하기 위해 사용하는 "한 번 사용한 수"로 숫자가 아닌 숫자와 문자로 이루어진 해시이다.


WordPress Nonces 설명 바로가기 


Nonce는 CSRF 익스플로잇으로부터 워드프레스 사이트를 보호하기 위해 특별히 설계되었는데, 발견된 취약점은 check_admin_referer()를 사용하여 인증하는 방식에 존재합니다.


이 방법은 워드프레스 측이 추천하지 않는 방법입니다. 


워드프레스의 공식 사이트에서는 Nonce를 인증, 권한 부여, 접근 제어에 의존해서는 안 된다고 밝힌 바 있습니다.


이 취약점은 치명적 레벨로 간주되며, Ad Inserter 플러그인 버전 2.4.21 및 이전 버전에 설치된 모든 워드프레스 웹사이트에 영향을 미칩니다.


문제 해결을 위해서는 버전 2.4.22로 업데이트해야 합니다.


이 취약점은 인증된 사용자가 해당 플러그인을 사용해 웹사이트에서 임의의 PHP 코드를 실행시키도록 허용합니다.


Ad Inserter 플러그인 악용


Nonce에 접근이 가능한 인증된 공격자들은 Ad Inserter 플러그인이 제공하는 디버그 모드 접근을 시도합니다.


이를 위해 공격자는 check_admin_referer() 함수를 사용해 인증 확인을 우회합니다.


일반적으로, 이러한 디버깅 기능은 관리자들만 사용할 수 있으며 특정 옵션이 활성화될 경우, 거의 모든 페이지에 자바 스크립트 블록을 포함할 수 있습니다.


아래의 자바스크립트는 ai_ajax_backend 액션을 위한 유효한 nonce를 포함하고 있습니다.



[그림 1] Ad Inserter 플러그인 악성 광고 프리뷰

<이미지 출처: https://www.wordfence.com/blog/2019/07/critical-vulnerability-patched-in-ad-inserter-plugin/>



공격자가 nonce를 마음껏 이용할 수 있게 되면, 즉시 디버깅 기능을 촉발시킬 수 있습니다.


특히, 임의 PHP 코드를 포함한 악성 페이로드를 보내 광고 프리뷰 기능을 악용할 수 있습니다.


이 플러그인의 개발자들은 지난 7월 12일 해당 취약점에 대한 제보를 받아 7월 13일 이를 수정한 2.4.22 패치를 공개했습니다.


Ad Inserter는 20만 개 이상의 웹사이트에 설치되어 있지만, 약 5만 명의 사용자만 해당 업데이트를 설치한 상태입니다.





출처:

https://www.bleepingcomputer.com/news/security/critical-bug-in-wordpress-plugin-lets-hackers-execute-code/

https://www.wordfence.com/blog/2019/07/critical-vulnerability-patched-in-ad-inserter-plugin/

관련글 더보기

댓글 영역