전 세계 약 7,500만 개의 웹사이트를 구동하며 가장 사랑받는 CMS로 자리 잡은 WordPress는 온라인 비즈니스를 운영하는 대부분의 셀러와 기업가들이 선택하는 플랫폼입니다. 즉시 사용 가능한 템플릿, SEO 친화성, 모바일 호환성 등의 강점 덕분에 그 인기는 날로 높아지고 있습니다.
현재 수많은 WordPress 플러그인이 출시되어 있으며, 이 플러그인들은 웹사이트 작업의 상당 부분을 대신 처리해 줍니다. 플러그인은 웹사이트에 추가 기능을 손쉽게 더할 수 있게 해주는데, 이것이 바로 WordPress가 폭넓은 사랑을 받는 핵심 이유 중 하나입니다.
하지만 높은 인기는 역설적으로 WordPress를 사이버 범죄의 주요 표적이 되게 만듭니다. WordPress 플러그인은 보안 취약점에 노출되기 쉬우며, 하나의 취약한 플러그인이 사이트 전체를 민감한 정보 유출과 서버 장악의 위험에 빠뜨릴 수 있습니다. 사이트에 추가하는 모든 플러그인은 잠재적인 보안 위험 요소이므로, 각 플러그인이 정기적으로 업데이트되고 있는지 반드시 점검해야 합니다.
아래에서는 과거 수천 개의 웹사이트를 위험에 빠뜨렸던 악명 높은 WordPress 플러그인 취약점들을 살펴보겠습니다.
1. Revolution Slider 플러그인 취약점
2016년 11월 발견된 이 취약점은 패치되지 않은 Revolution Image Slider 플러그인, 즉 구버전 RevSlider와 관련된 것으로, 당시 수많은 WordPress 웹사이트에서 널리 사용되고 있었습니다.
특히 2016년 4월 세계를 충격에 빠뜨린 '파나마 페이퍼스(Panama Papers)' 유출 사건도 바로 이 플러그인의 취약점을 통해 발생했습니다. 이 사건으로 2.6TB에 달하는 방대한 개인 데이터와 1,150만 건 이상의 문서가 유출되었습니다.
이 취약점을 악용하면 공격자가 서버에서 임의의 파일을 다운로드하고 데이터베이스 접속 정보까지 탈취할 수 있어, 웹사이트가 완전히 장악될 위험이 있었습니다. 이러한 유형의 공격은 로컬 파일 포함(Local File Inclusion, LFI) 공격이라 불리며, 공격자가 서버 내의 로컬 파일에 접근해 열람하고 다운로드할 수 있게 됩니다.
2. NextGEN Gallery 플러그인 취약점
NextGEN Gallery는 WordPress CMS에서 가장 인기 있는 갤러리 플러그인 중 하나로 100만 회 이상 설치되었지만, 방문자가 데이터베이스의 비밀번호와 시크릿 키를 탈취할 수 있는 해킹에 취약한 것으로 밝혀졌습니다. 이 결함은 SQL 인젝션(SQL Injection) 버그 형태로, 악의적인 입력값이 WordPress의 준비된(prepared) SQL 쿼리에 삽입될 수 있게 하며, 특정 조건에서는 공격자가 서버의 백엔드 데이터베이스에 직접 명령어를 입력할 수도 있었습니다.
이 취약점에는 두 가지 공격 시나리오가 있었습니다.
- 사이트 소유자가 NextGEN Basic TagCloud 갤러리 옵션을 활성화한 경우 — 이 기능은 태그를 이용해 이미지 갤러리를 탐색할 수 있게 해주며, 사용자가 사진을 넘길 때마다 사이트 URL이 함께 변경됩니다. 그런데 URL 파라미터에 대한 입력값 검증이 제대로 이루어지지 않아, 공격자는 링크 파라미터를 조작해 악성 SQL 쿼리를 삽입할 수 있었고, 변조된 URL이 로드되는 순간 해당 쿼리가 플러그인에 의해 실행되었습니다.
- 웹사이트가 블로그 게시물 제출을 허용하는 경우 — 이 경우 공격자는 사이트에 계정을 생성하고 게시물을 심사용으로 제출할 수 있으므로, 악성 NextGEN Gallery 코드를 삽입할 여지가 생깁니다. 공격자의 실력에 따라 이 코드는 내부 데이터베이스 접근 권한을 부여하고 개인정보 유출로까지 이어질 수 있습니다.
다행히 이 취약점은 NextGEN Gallery 버전 2.1.79에서 수정되었으며, WordPress 플러그인 저장소의 체인지로그에는 "변경: 태그 표시 조정"이라고 기록되어 있습니다.

3. Neosense 버전 1.7 취약점
2016년, Neosense 비즈니스 테마 v1.7에서 공격자가 악성 파일을 업로드할 수 있는 결함이 발견되었습니다. 이를 통해 공격자는 사용자 인증 없이 Curl을 이용해 파일을 업로드하고 해당 URL로 즉시 실행함으로써 사이트를 통째로 장악할 수 있었습니다.
WordPress 테마 개발사 DynamicPress는 이 취약점의 원인을 오픈소스 코드 'qquploader', 즉 Ajax 기반 파일 업로더를 아무런 보안 조치 없이 구현한 데 있다고 밝혔습니다. 이를 악용하면 공격자는 확장자가 .php 또는 .phtml인 악성 PHP 스크립트를 사이트의 다운로드 디렉터리에 업로드하고 업로드 디렉터리에 접근할 수 있었습니다.
이 취약점은 이후 버전인 Neosense v1.8에서 수정되었습니다.
4. FancyBox
FancyBox는 수천 개의 웹사이트에서 이미지, HTML 콘텐츠 및 멀티미디어를 표시하기 위해 사용하던 매우 인기 있는 WordPress 플러그인입니다. 그러나 치명적인 제로데이(zero-day) 취약점이 발견되면서 결함이 있는 것으로 판명되었습니다.
이 취약점을 통해 공격자는 취약한 웹사이트에 악성 iframe이나 임의의 스크립트·콘텐츠를 삽입하여 방문자를 '203koko'라는 악성 사이트로 리디렉션할 수 있었습니다. 이 취약점의 파급력은 WordPress로 운영되는 약 7,000만 개의 웹사이트 중 거의 절반이 이 플러그인을 사용하고 있다는 사실에서 짐작할 수 있습니다. 다행히 취약점 발견 직후 두 차례에 걸쳐 플러그인 업데이트가 신속히 배포되어 문제가 수정되었습니다.
5. TimThumb 취약점
TimThumb는 WordPress의 이미지 리사이징 라이브러리로, 이 라이브러리의 취약점 때문에 수많은 WordPress 플러그인이 악성 공격에 노출되었습니다. 영향을 받은 대표적인 플러그인으로는 TimThumb, WordThumb, WordPress Gallery Plugin, IGIT Posts Slider 등이 있습니다.
이 취약점은 공격자가 피해 웹사이트에서 임의의 PHP 코드를 원격으로 실행할 수 있게 허용했습니다. 공격에 성공하면 공격자는 웹사이트를 원하는 어떤 방식으로든 장악할 수 있었고, 실제로 해커들은 이를 이용해 서버상의 파일을 생성, 삭제, 수정하는 데 활용했습니다.
이 취약점은 이후 업데이트를 통해 패치되었습니다.
6. WP Mobile Detector
10,000개가 넘는 웹사이트에서 사용 중이던 WordPress 플러그인 WP Mobile Detector에서도 결함이 발견되었습니다.
공격자는 resize.php 스크립트를 이용해 이 취약점을 악용할 수 있었으며, 이를 통해 원격으로 웹 서버에 임의의 파일을 업로드할 수 있었습니다. 업로드된 파일은 백도어 스크립트, 즉 '웹셸(Web Shell)'로 작동하여 서버에 대한 은밀한 접근 경로를 열어주고, 정상 페이지에 악성 코드를 삽입할 수 있는 권한까지 공격자에게 넘겨주었습니다.

마무리: 플러그인 보안, 선택이 아닌 필수입니다
위에서 살펴본 사례들은 하나같이 검증되지 않은 플러그인이나 방치된 구버전이 초래할 수 있는 피해가 얼마나 클 수 있는지 보여줍니다. 플러그인 설치 전 평판과 업데이트 이력을 꼼꼼히 확인하고, 항상 최신 버전을 유지하며, 불필요한 플러그인은 과감히 제거하는 것이 안전한 WordPress 운영의 기본입니다.
방금 설치한 WordPress 사이트를 안전하게 지키는 방법이 궁금하다면, 종합적인 WordPress 보안 가이드를 참고해 보세요.
WordPress 웹사이트에 최고 수준의 보호를 원한다면 Astra에 문의해 보세요.