지키려고 넣은 플러그인이 구멍이 된다 — 백업·스팸차단 플러그인 연쇄 취약점 (2026년 7월 넷째 주)
지난 글에서 WordPress 코어의 무인증 원격코드실행 wp2shell을 다뤘습니다. 그 사건이 워낙 커서 묻혔지만, 같은 시기 조용히 쌓이고 있던 목록이 하나 더 있습니다. 플러그인 취약점입니다.
2026년 7월 23일부터 29일까지 한 주간 보고된 것만 26건. 그것도 「설치 10만 이상 + 일본어 대응」이라는 조건으로 추린 뒤의 숫자입니다. 이 목록을 훑다 보면 한 가지가 눈에 걸립니다.
1. 지키려고 넣은 것이 먼저 뚫린다
그 주의 고심각도 목록에 이런 이름들이 있었습니다.
- BackWPup (백업 플러그인) — CVSS 7.2, 저장형 XSS. 5.7.5에서 수정
- CleanTalk Anti-Spam (스팸·봇 차단 플러그인) — CVSS 7.2, 저장형 XSS. 6.83에서 수정
둘 다 사이트를 지키려고 넣는 플러그인입니다. 백업은 사고가 났을 때 되돌리려고, 스팸 차단은 나쁜 요청을 막으려고 설치합니다. 그런데 두 개가 같은 주에 나란히 취약점 보고를 받았습니다.
둘 다 인증 없이 임의의 스크립트를 페이지에 심을 수 있는 결함이었습니다. 심긴 스크립트는 그 페이지를 여는 사람의 브라우저에서 실행됩니다. 관리자가 열면 관리자 권한으로 실행됩니다.
2. 돈이 오가는 곳도 예외가 아닙니다
같은 주 목록에서 가장 직접적인 피해로 이어질 수 있는 것은 결제 쪽이었습니다.
- Payment Plugins for Stripe WooCommerce — 웹훅 서명이 설정되어 있지 않은 경우, 인증 없이 임의의 주문을 「결제 완료」로 표시할 수 있는 인가 우회. 같은 플러그인에서 2건이 보고됐습니다
물건을 보내고 나서야 알게 되는 유형입니다. 설정 하나(웹훅 서명)가 빠져 있었을 뿐인데 결제가 통과된 것처럼 보입니다.
3. 한 플러그인에서 세 건이 나오기도 합니다
Kirki(테마 커스터마이저 프레임워크)는 그 주에만 3건이 보고됐습니다. 그중 하나는 context 파라미터를 이용해 인증 없이 비공개·초안 글의 전체 내용을 읽을 수 있는 결함이었습니다.
공개 전의 보도자료, 준비 중인 가격표, 내부용 메모가 초안 상태로 남아 있다면 그대로 노출됩니다.
4. 그 밖에 이름이 낯익은 것들
그 주 목록에 오른 나머지 이름들입니다. 눈에 익은 것이 하나쯤은 있으실 겁니다.
- GTM4WP (Google 태그 관리자 연동) — CVSS 7.2. WooCommerce 청구 필드에 스크립트 주입
- Fluent Forms · Ninja Forms (문의 폼)
- GiveWP (기부) — CVSS 7.2, 2건
- Yoast SEO · All in One SEO (검색 대책)
- Polylang (다국어) · MailPoet (메일 발송)
- The Events Calendar · WP Go Maps · Tutor LMS · Advanced Ads · WP Activity Log 외
SEO 플러그인, 다국어 플러그인, 폼 플러그인, 지도 플러그인. 일반적인 기업 사이트 하나를 만들면 대체로 들어가는 조합입니다.
5. 여기서 읽어야 할 것
이 목록이 말하는 것은 「특정 플러그인이 나쁘다」가 아닙니다. 위에 나온 플러그인들은 대부분 오랫동안 잘 관리되어 온 인기 플러그인이고, 실제로 며칠 안에 수정판이 나왔습니다.
읽어야 할 것은 구조입니다.
플러그인은 추가한 기능이 아니라 늘어난 표면적입니다.
플러그인 하나를 넣을 때마다, 자기 사이트에 다른 회사가 쓴 코드가 한 벌 더 들어옵니다. 그 코드의 품질도, 수정 속도도, 개발자가 계속 유지보수를 할지도 사이트 주인이 정할 수 없습니다.
플러그인이 20개 들어간 사이트는, 20개의 개발팀이 각자 실수하지 않기를 기대하는 상태입니다. 백업 플러그인이 취약해지는 일이 그래서 생깁니다.
6. 그럼 어떻게 해야 하는가
- 쓰지 않는 플러그인은 지웁니다. 비활성화만으로는 파일이 서버에 남습니다. 취약한 코드가 그대로 남아 있는 상태입니다
- 같은 일을 하는 플러그인이 겹쳐 있지 않은지 확인합니다. 폼 플러그인 두 개, SEO 플러그인 두 개가 함께 들어가 있는 사이트를 자주 봅니다
- 결제·회원·개인정보를 다루는 플러그인은 설정까지 확인합니다. 위의 Stripe 사례는 코드가 아니라 웹훅 서명 미설정이 조건이었습니다
- 주 1회는 취약점 정보를 확인합니다. 매주 목요일경 일본어로 정리되는 목록이 있습니다. 설치 수와 언어로 걸러 주므로 실제 자기 사이트에 해당하는 것만 볼 수 있습니다
덧붙여
THEVOS가 자체 CMS인 VosCMS를 만들어 쓰는 이유가 여기에 있습니다. 기능을 외부 플러그인으로 붙이지 않고 자체 모듈로 코어 안에서 만듭니다. 수정이 필요하면 남의 수정판을 기다리지 않고 그 자리에서 고칩니다.
물론 WordPress로도 안전하게 운용할 수 있습니다. 다만 그러려면 매주 목록을 확인하고 판단해서 갱신하는 사람이 필요합니다. 그 일을 사업주가 직접 하기는 어렵습니다. 다음 글에서는 그 「챙기는 사람」이 없을 때 실제로 어떤 숫자가 나오는지 살펴보겠습니다.
참고 — Wordfence 데이터 기반 주간 정리(2026/07/23〜07/29, 2026년 7월 31일 공개), IPA 주의 환기(2026년 7월 22일)



댓글 (0)
아직 댓글이 없습니다. 첫 댓글을 남겨보세요.