블로그, 동네 가게 홈페이지, 작은 쇼핑몰… 우리 주변 웹사이트 상당수가 워드프레스(WordPress)라는 프로그램으로 만들어져 있어요. 그리고 워드프레스에는 스마트폰 앱처럼 기능을 덧붙이는 플러그인이 있죠. 그런데 이번 주, 검색엔진 노출(SEO)을 도와주는 인기 플러그인 랭크매스(Rank Math) PRO의 공식 업데이트 파일에 악성코드가 섞여 배포된 사실이 확인됐어요.
무서운 점은 이거예요. 수상한 사이트에서 받은 게 아니라, 제작사 공식 사이트·공식 업데이트로 받은 파일이었다는 것. 그리고 켜는 순간 몰래 관리자 계정을 만들고, 지워도 다시 살아나는 뒷문을 심을 수 있었다는 것. 오늘은 무슨 일이 있었는지, 내 사이트가 해당되는지 질문 3개로 가르는 법, 그리고 해당된다면 어떤 순서로 복구해야 하는지를 초보 기준으로 풀어 볼게요.

한 줄 요약부터
| 질문 | 짧은 답 |
|---|---|
| 무슨 일이에요? | 워드프레스 SEO 플러그인 Rank Math PRO(유료판) 3.0.123 일부 파일에 악성코드가 들어간 채 배포됐어요. 이른바 공급망 공격이에요 |
| 언제 받은 게 문제예요? | 한국 시간 10월 16일 새벽 5시 2분 ~ 오후 4시 12분(UTC 10/15 20:02 ~ 10/16 07:12), 약 11시간 동안 공식 사이트에서 받거나 업데이트한 파일 |
| 무료판도 위험해요? | 아니요. 워드프레스 공식 저장소의 무료 Rank Math SEO(활성 설치 400만 곳 이상)는 이번 공지 대상이 아니에요 |
| 얼마나 위험해요? | 보안업체 워드펜스(Wordfence)가 CVE-2026-111862를 붙이고 10점 만점에 9.8으로 평가했어요 |
| 어떤 짓을 해요? | 몰래 관리자 계정 생성, 숨은 PHP 파일·가짜 핵심 파일 설치, 예약 작업 등록, 그리고 사이트가 읽을 수 있는 DB 비밀번호·API 키가 노출될 수 있어요 |
| 업데이트하면 끝? | 아니요. 깨끗한 3.0.124가 나왔지만, 이미 심어진 뒷문은 업데이트로 지워지지 않아요 |
| 그럼 뭘 해요? | 해당되면 감염 전 백업으로 복구 → 모든 비밀번호·키 교체 → 검사 → 마지막에 3.0.124 설치 |
먼저 용어 세 개만: 워드프레스·플러그인·공급망 공격
| 용어 | 쉬운 비유 | 이번 일과의 관계 |
|---|---|---|
| 워드프레스 | 홈페이지를 짓는 조립식 집 키트 | 전 세계 수많은 블로그·쇼핑몰이 이걸로 운영돼요 |
| 플러그인 | 집에 다는 추가 가전·부품 (스마트폰 앱 같은 것) | Rank Math는 검색 노출을 돕는 SEO 플러그인이에요 |
| 무료판 vs PRO판 | 같은 브랜드의 기본형 / 고급형 | 무료판은 워드프레스 공식 저장소, PRO판은 rankmath.com에서 직접 받아요. 이번엔 PRO 배포 통로가 오염됐어요 |
| 공급망 공격 | 정품 택배 상자 안 물건을 배송 중에 바꿔치기 | 사용자는 ‘공식에서 받았으니 안전’하다고 믿기 때문에 피하기 어려워요 |
비유하자면, 늘 거래하던 가전 매장에서 정품 상자로 배달된 공기청정기 안에 몰래 도청기가 들어 있던 셈이에요. 내가 이상한 가게에 간 것도 아니고, 포장도 멀쩡했으니 겉으로는 알아챌 방법이 거의 없었죠.
오염된 11시간, 한국 시간으로 정리하면

| 시각 | 무슨 일 | 포인트 |
|---|---|---|
| 10월 7일 (현지) | Rank Math PRO 3.0.123 정상 출시 (변경 기록 기준) | 이 시기에 받은 3.0.123은 오염 구간 밖이에요 |
| 10월 15일 04:31 (KST) | 공격자가 쓴 도메인 rank1cdn[.]com 등록 | 오염 시작 약 하루 전, 미리 준비한 흔적 |
| 10월 16일 05:02 (KST) | 공식 다운로드·업데이트로 오염 파일 배포 시작 | 이름·버전은 그대로 3.0.123 |
| 10월 16일 16:12 (KST) | 오염 배포 종료 (약 11시간 10분) | 한국에선 출근 전 새벽~오후 시간대 |
| 10월 16일 (현지) | Rank Math 보안 공지, 깨끗한 3.0.124 배포 | 오염 파일은 삭제됐다고 밝힘 |
| 10월 17일 (현지) | 워드펜스 경고문, CVE-2026-111862 (9.8) | ‘3.0.124 설치만으론 이미 심은 파일·계정·예약 작업이 안 지워진다’ |
| 10월 19일 (현지) | 해커뉴스·블리핑컴퓨터·시큐리티위크 등 해외 보안 매체 보도 | 국내 운영자에게도 본격적으로 알려지기 시작 |
여기서 초보가 가장 헷갈리는 부분이 있어요. 버전 숫자만 보고는 오염 여부를 알 수 없다는 점이에요. 3.0.123은 10월 7일에 이미 나왔던 버전이라, 그 전에 받은 3.0.123은 정상이고 그 11시간 사이에 받은 3.0.123만 문제가 될 수 있어요. 그래서 ‘언제 받았는지·언제 업데이트됐는지’가 핵심 단서입니다.
이 악성코드, 정확히 무엇을 하나
Rank Math와 워드펜스 공지, 그리고 해외 보안 매체들이 정리한 내용을 쉬운 말로 옮기면 이렇습니다. 코드의 전체 분석이나 범인의 정체는 아직 공개되지 않았어요.
| 하는 일 | 쉬운 뜻 | 왜 문제인가 |
|---|---|---|
| 지속적인 접근 확보 | 현관 옆에 몰래 뒷문을 하나 더 냄 | 주인이 비밀번호를 바꿔도 뒷문으로 다시 들어올 수 있어요 |
| 외부 서버와 통신 | rank1cdn[.]com이라는 주소와 연락 | 공격자의 지시를 받거나 정보를 내보내는 통로 |
| 방문할 때마다 뒷문 재생성 | 누가 사이트를 열 때마다 지운 뒷문을 다시 만듦 | 파일 몇 개 지우는 걸로는 계속 되살아나요 |
| 관리자 계정 몰래 생성 | wpsupport_로 시작하는 이름, @wp-mail[.]net 메일 | ‘지원팀’처럼 보이게 위장한 가짜 관리자 |
| 가짜 핵심 파일 설치 | wp-includes/class-wp-cache-util.php | 워드프레스 진짜 파일처럼 보이지만 원래 없는 파일이에요 |
| 설정 파일 조작 | .htaccess를 고쳐 .cache 파일이 PHP처럼 실행되게 함 | ‘캐시 파일’로 위장한 실행 코드 |
| 예약 작업 등록 | #ms6v46 표시가 붙은 크론(cron) 작업 | 정해진 시간마다 자동으로 다시 깔기 |
| 비밀 정보 노출 | 웹서버가 읽을 수 있는 DB 비밀번호·API 키·각종 비밀값 | 결제·메일 발송·클라우드 계정까지 번질 수 있어요 |
블리핑컴퓨터는 같은 흔적(XOR 키 xmmqhn, DB 항목 _np5pvf754c, 크론 표시 #ms6v46, wpsupport_ 계정 생성 코드)을 가진 PHP 악성 샘플을 바이러스토탈에서 찾았다고 전했어요. 이 샘플에는 명령 실행, DB 수정, 그리고 AWS·클라우드플레어·구글 클라우드·애저 자격 증명과 SSH 키를 훔치는 기능까지 들어 있었다고 해요. 다만 이 샘플이 실제로 플러그인을 통해 퍼졌는지는 확인되지 않았다는 점도 함께 밝혔습니다.
왜 ‘업데이트’나 ‘삭제’만으로는 안 될까

잡초를 생각해 보세요. 눈에 보이는 잎(플러그인 폴더)만 뽑으면, 땅속 뿌리(DB 설정값·예약 작업·가짜 파일·숨은 계정)가 남아 있다가 다시 자라요. 이번 악성코드가 딱 그런 구조예요. 그래서 Rank Math도 “비활성화만으로는 충분하지 않다”, “뒷문을 다시 만드는 장치를 먼저 멈추지 않고 의심 파일부터 지우면 해결되지 않을 수 있다”고 강조했어요.
| 흔히 하는 대응 | 효과 | 이유 |
|---|---|---|
| 플러그인 비활성화 | ❌ 부족 | 폴더와 뿌리가 그대로 남아요 |
| 3.0.124로 업데이트 | ❌ 부족 | 플러그인 파일만 바뀌고, 다른 곳에 심은 파일·계정·예약 작업은 그대로 |
| 수상한 파일 몇 개 삭제 | ⚠️ 순서가 틀리면 헛수고 | 방문할 때마다 다시 생기니, 재생성 장치부터 끊어야 해요 |
| 감염 전 백업으로 통째 복구 + 비밀번호·키 교체 | ✅ 권장 | Rank Math가 제시한 1순위 방법이에요 |
내 사이트는 해당될까? 질문 3개로 가르기

| 내 상황 | 판단 | 할 일 |
|---|---|---|
| 무료 Rank Math SEO만 씀 (또는 Rank Math 자체를 안 씀) | 이번 공지 대상 아님 | 평소처럼 업데이트·백업 관리 |
| PRO를 쓰지만 10/16 05:02~16:12(KST)에 받거나 업데이트하지 않음 | 이번 건과 무관할 가능성 높음 | 그래도 3.0.124로 올리고 보안 검사 한 번 |
| 그 시간에 내려받기만 하고 설치·활성화 안 함 | 공지 기준 ‘이번 건만으로 감염 징후 없음’ | 받은 파일은 지우고, 3.0.124를 새로 받기 |
| 그 시간에 설치했지만 활성화 안 함 | 주의 | 플러그인 파일 삭제 → 3.0.124 설치 → 보안 검사 |
| 그 시간에 설치·활성화함 (자동 업데이트 포함 가능성) | 감염으로 간주 | 아래 복구 순서 그대로 진행. 이미 3.0.124로 올렸어도 마찬가지 |
| 잘 모르겠음 | 판단 보류 | Rank Math 지원팀(support@rankmath.com)에 문의, 호스팅 업체에 로그 확인 요청 |
Rank Math는 일부 사용자에게 안내 메일을 보냈다고 했지만, 피해 사이트 수나 자동 업데이트로도 오염 파일이 전달됐는지는 아직 밝히지 않았어요. 그러니 ‘메일을 못 받았으니 괜찮다’고 단정하기보다, 그 시간대 업데이트 기록을 직접 확인하는 게 안전합니다.
해당된다면: 복구 순서 (백업이 있을 때)
| 순서 | 할 일 | 초보 팁 |
|---|---|---|
| 1 | 한국 시간 10월 16일 05:02 이전에 만든 백업으로 파일 + DB 모두 복구 | 호스팅 관리 화면의 ‘백업 복원’ 메뉴. 모르면 호스팅 업체에 요청하세요 |
| 2 | 보안 검사 실행 | 워드펜스·수쿠리(Sucuri) 같은 이름 있는 보안 도구 |
| 3 | 모든 비밀번호·키 교체 | ‘사이트가 알던 비밀은 다 샜다’고 가정 (아래 표 참고) |
| 4 | 마지막에 3.0.124 설치 | 반드시 rankmath.com에 직접 접속해 로그인 후 받기 |
백업이 없을 때: 순서가 생명인 수동 정리
파일·DB를 직접 만지는 작업이라, 자신 없으면 호스팅 업체나 전문가에게 맡기는 게 맞아요. 순서만 이해해 두셔도 맡길 때 대화가 훨씬 수월해집니다.
| 단계 | 무엇을 | 구체적으로 |
|---|---|---|
| 1단계: 뿌리 끊기 (먼저!) | 재생성 장치 멈추기 | ① rank-math-pro 폴더 통째 삭제 ② DB의 wp_options 표에서 option_name이 _uf6qdn2hmm · t8krdk990phb · _np5pvf754c인 항목 삭제 ③ 가능하면 rank1cdn.com으로 나가는 연결 차단 |
| 2단계: 남은 흔적 찾기 | 숨은 파일 | wp-content/mu-plugins/, 다른 플러그인 폴더, 기본 테마가 아닌 테마의 inc/·includes/·lib/, uploads/ 안 PHP 파일 (uploads에는 원래 PHP가 거의 없어요) |
| 숨은 관리자 | wpsupport_로 시작하는 이름, @wp-mail[.]net 메일 계정 확인 후 삭제 | |
| 가짜 핵심 파일 | wp-includes/class-wp-cache-util.php가 있으면 삭제 후 워드프레스 핵심 파일 재설치 | |
| 설정·예약 작업 | .htaccess에 .cache를 PHP로 실행하는 규칙, PHP가 든 .cache 파일, #ms6v46 표시 크론, 워드프레스 예약 이벤트 | |
| 서버 전체 | SSH authorized_keys, 다른 사용자 크론, 실행 중인 프로세스, 웹서버가 쓸 수 있는 사이트 밖 폴더 (공유 호스팅이면 호스팅 업체에 요청) | |
| 3단계: 열쇠 바꾸기 | 비밀번호·키 교체 | 백업 복구를 했든 안 했든 필수 |
| 4단계: 확인 | 재검사·관찰 | 보안 검사, 핵심 파일 무결성 확인, 며칠간 지운 파일이 다시 생기는지 관찰 |
워드펜스는 한 가지를 꼭 덧붙였어요. “이런 흔적이 안 보인다고 해서 그것만으로 깨끗하다고 증명되진 않는다.” 그래서 가능하면 백업 복구가 1순위인 거예요.
바꿔야 할 ‘열쇠’ 목록
| 열쇠 종류 | 어디에 있나 | 왜 바꾸나 |
|---|---|---|
| 워드프레스 계정 비밀번호 | 관리자·편집자 등 모든 계정 | 공격자가 만든 계정 외에 기존 계정 정보도 노출됐을 수 있어요 |
| DB 아이디·비밀번호 | wp-config.php | 사이트 데이터 전체의 열쇠 |
| 보안 키·솔트(salt) | wp-config.php | 바꾸면 기존 로그인 쿠키가 모두 무효화돼 몰래 붙어 있던 세션도 끊겨요 |
| 결제·메일(SMTP)·각종 API 키 | 플러그인 설정, 설정 파일 | 쇼핑몰이면 결제 연동, 뉴스레터면 메일 발송 계정까지 |
| 호스팅·FTP·SFTP·SSH | 호스팅 관리 화면 | 서버 자체로 들어오는 문 |
| 환경 변수 속 비밀값 | 서버 설정 | 클라우드 키 등이 여기 있을 수 있어요 |
| 관리자 2단계 인증 | 보안 플러그인·계정 설정 | 점검 후 필요하면 다시 등록 |
사칭 메일도 조심하세요
이런 사고 뒤엔 꼭 ‘보안 업데이트 받으세요’ 사칭 메일이 따라와요. Rank Math는 로그인·다운로드 링크를 이메일로 보내지 않는다고 분명히 밝혔어요. 일부 사용자는 계정 비밀번호를 재설정해야 로그인될 수 있다고도 했는데, 이것도 메일 속 링크가 아니라 주소창에 rankmath.com을 직접 입력해서 진행하세요.
| 메일 내용 | 진짜일 가능성 | 대처 |
|---|---|---|
| “여기를 눌러 패치 파일 받으세요” + 첨부·링크 | 낮음 (공식은 링크 안 보냄) | 누르지 말고 rankmath.com 직접 접속 |
| “계정이 잠겼습니다, 비밀번호 재설정 링크” | 주의 | 메일 링크 대신 사이트에서 직접 재설정 |
| “귀하의 사이트가 영향을 받았을 수 있습니다” 안내만 | 있을 수 있음 | 내용만 참고하고, 행동은 공식 공지 페이지를 보고 |
올해만 벌써 몇 번째? 유료 플러그인 ‘업데이트 통로’가 노려진다
해커뉴스에 따르면 올해 들어 유료 워드프레스 플러그인 제작사가 직접 운영하는 업데이트 통로로 뒷문이 배포된 건 이번이 최소 세 번째예요. 무료 플러그인은 워드프레스 공식 저장소를 거치지만, 유료판은 제작사가 자체 서버로 배포하는 경우가 많아 그 서버 하나가 뚫리면 고객 사이트 전체로 번질 수 있어요.
| 시기 | 사례 | 공통점 |
|---|---|---|
| 2026년 4월 | Nextend의 업데이트 시스템이 약 6시간 동안 뒷문 심은 Smart Slider 3 Pro 배포 | 제작사 업데이트 통로 오염 |
| 2026년 6월 | ShapedPlugin의 Pro 플러그인 업데이트 통로 오염, 한 패키지는 같은 버전 번호로 바꿔치기 | 버전 숫자로 구별 불가 — 이번과 같은 함정 |
| 2026년 6월·8월 | Awesome Motive CDN 스크립트 변조, BdThemes API 피드 오염 | 배포·연동 서버를 노림 |
| 2026년 10월 | Rank Math PRO 3.0.123 (이번 사건) | 유료판 공식 다운로드·업데이트 오염 |
다만 이 사건들을 같은 공격자가 벌였다는 근거는 공개된 게 없어요. 또 Rank Math(스웨덴 호스팅 그룹 group.one 소속)는 악성 파일이 어떻게 들어갔는지, 몇 명이 받았는지, 정상·오염 파일의 해시값은 아직 밝히지 않았습니다. 추가 발표가 나오면 판단 기준이 바뀔 수 있으니 공식 공지를 한 번 더 확인해 주세요.
참고로, 해커뉴스가 10월 19일 확인했을 때 워드프레스 공식 체크섬 서비스에는 무료판 파일 목록만 있고 PRO판 체크섬은 없었다고 해요. 유료 플러그인은 ‘원본과 똑같은지’ 자동 비교가 어려우니, 공식 사이트에서 새로 받은 깨끗한 사본과 비교해야 합니다.
워드프레스를 안 써도 배울 점: 내 사이트를 위한 습관 5가지
| 습관 | 왜 좋은가 | 오늘 해 볼 것 |
|---|---|---|
| 자동 백업 + 백업 날짜 확인 | 이번처럼 ‘감염 전 시점’으로 되돌리는 게 가장 확실 | 호스팅 백업 주기와 보관 기간 확인 (최소 1~2주 치) |
| 플러그인 다이어트 | 부품이 적을수록 뚫릴 문도 적어요 | 안 쓰는 플러그인은 비활성화가 아니라 삭제 |
| 관리자 계정 정기 점검 | 모르는 관리자는 가장 확실한 경고 신호 | 사용자 목록에서 ‘관리자’만 걸러 보기 |
| 비밀값 최소화 | 사이트가 아는 비밀이 적을수록 피해도 작아요 | 쓰지 않는 API 키·연동은 해지, 권한은 꼭 필요한 만큼만 |
| 중요 업데이트는 하루 지켜보기 | 이번 사건도 오염 배포가 약 11시간 만에 멈췄어요 | 보안 패치가 아닌 일반 기능 업데이트라면 하루 정도 뉴스·공지 확인 후 적용 |
마지막 습관은 균형이 필요해요. 보안 구멍을 막는 업데이트는 미루면 오히려 위험하니 빨리 적용하는 게 원칙이에요. ‘하루 지켜보기’는 급하지 않은 기능 업데이트에 한해, 특히 여러 사이트를 관리하는 분이라면 한 곳에 먼저 적용해 보고 나머지에 퍼뜨리는 식으로 쓰면 좋아요.
홈페이지를 업체에 맡긴 사장님이라면
직접 관리하지 않아도 괜찮아요. 아래 질문만 그대로 보내 보세요.
| 물어볼 것 | 이렇게 보내세요 |
|---|---|
| 사용 여부 | “우리 사이트에 Rank Math PRO 플러그인 쓰나요? 무료판인가요, PRO판인가요?” |
| 시간대 | “PRO라면 10월 16일 새벽 5시~오후 4시(한국 시간)에 설치나 업데이트된 기록이 있나요?” |
| 백업 | “10월 16일 새벽 5시 이전 백업이 있나요? 파일과 DB 둘 다요?” |
| 조치 결과 | “관리자 계정 목록과, 비밀번호·키 교체 여부를 알려 주세요.” |
정리하며
이번 사건의 교훈은 “수상한 곳에서 받지 마세요”가 아니라 “공식 통로도 뚫릴 수 있다”예요. Rank Math PRO 3.0.123 중 한국 시간 10월 16일 05:02~16:12에 받은 파일만 문제였고, 무료판은 공지 대상이 아니에요. 하지만 해당된다면 업데이트만으로는 끝나지 않아요. 감염 전 백업으로 되돌리고, 사이트가 알던 모든 비밀번호와 키를 바꾸고, 마지막에 깨끗한 3.0.124를 공식 사이트에서 직접 받아 설치하는 순서를 기억해 주세요.
그리고 해당되지 않는 분들도 오늘 딱 하나만 해 보면 좋겠어요. 내 사이트 백업이 언제 마지막으로 만들어졌는지 확인하기. 다음 공급망 사고 때 가장 든든한 보험이 바로 그 백업이니까요.