WP 유지관리(WP Maintenance) 플러그인에서 CSRF 및 저장형 XSS 취약점이 발견되었습니다. 11월 15일 WordFence가 해당 취약점을 플러그인 개발자에게 보고했으며, 개발자(Florent Malliefaud)는 단 하루 만에 긴급하게 취약점을 패치했습니다.
버전 5.0.6은 취약점이 해결된 버전입니다. 이전 버전을 사용 중이라면 반드시 최신 버전으로 업데이트하시기 바랍니다.
WP 유지관리 플러그인 소개
이름에서 알 수 있듯이 WP 유지관리 플러그인은 웹사이트를 점검(유지보수) 모드로 전환할 수 있게 해주는 도구입니다. 또한 유지보수 페이지를 폭넓게 커스터마이징할 수 있는 다양한 기능도 함께 제공합니다.
다음은 워드프레스 저장소에 등록된 WP 유지관리 플러그인의 모습입니다.
위에서 볼 수 있듯이 이 플러그인은 30,000개 이상의 활성화 설치 수를 기록하고 있습니다. 유지보수 페이지에 사용자 지정 텍스트, 로고, 이미지, CSS 등을 적용할 수 있으며, 심지어 카운트다운 타이머 삽입 기능도 제공합니다.
취약점 상세 내용
WordFence에 따르면 이 취약점을 통해 공격자는 웹사이트를 유지보수 모드로 전환하고 악성 코드를 주입할 수 있습니다. 핵심 원인은 플러그인의 커스터마이징 기능에 있습니다. 설정을 업데이트하기 전에 사용자의 nonce 키를 검증하지 않아 심각한 CSRF 공격에 노출될 수 있습니다.
또한 설정 입력 필드에 적절한 코드 정제(sanitization) 과정이 이루어지지 않아 해커가 웹사이트에 위험한 코드를 주입할 수 있습니다.
더 자세한 기술적 내용은 다음 섹션에서 확인할 수 있습니다.
기술적 세부 사항
WP 유지관리 플러그인은 매우 다양한 커스터마이징 기능을 제공합니다. 그러나 방대한 커스터마이징 기능에는 더 철저한 검증이 필요했음에도 불구하고, 해당 플러그인은 제한적인 nonce 보호와 입출력 값 sanitization만 적용되어 있었습니다. 이러한 허점으로 인해 CSRF(Cross-Site Request Forgery, 사이트 간 요청 위조) 취약점이 발생했고, 이것이 다시 저장형 XSS(Cross-Site Scripting) 취약점으로 이어졌습니다.
아래 코드를 살펴보겠습니다:
여기서 update_general AJAX 함수는 nonce 토큰을 검증하지 않아 CSRF에 취약합니다. 또한 update_option() 및 wpm_update_settings() 함수에는 입력값 정제(sanitization) 과정이 없습니다. 이로 인해 권한 없는 사용자나 공격자가 악성 스크립트를 저장형 XSS 형태로 주입할 수 있으며, 해당 코드가 실행되면 사이트에서 강제 리디렉션, 크립토 마이닝, 데이터 탈취 등이 발생할 수 있습니다.
결국 플러그인의 거의 모든 설정 항목이 CSRF 및 XSS에 취약한 상태였던 것입니다.
WP 유지관리 플러그인의 일반 설정 화면에는 제목(title)과 텍스트(text), 두 개의 입력 필드가 있습니다.
검증(validation)과 정제(sanitization) 과정에 결함이 있어 악성 코드가 파싱 없이 그대로 저장되며, 저장형 XSS 취약점으로 작동하게 됩니다. 다음은 WP 유지관리 플러그인의 "Enable Newsletter" 필드에 대한 예시입니다:
악성 코드는 sanitization을 통과한 뒤 그대로 실행됩니다.
리스크 완화를 위한 업데이트 안내
위험을 줄이려면 플러그인을 최신 버전(5.0.6)으로 업데이트하기만 하면 됩니다.
한편, 부실한 보안 관리는 여전히 많은 워드프레스 플러그인에서 심각한 문제로 남아 있습니다. 웹사이트 보안을 확실하게 지키는 가장 좋은 방법은 플러그인 선택에 신중해지는 것입니다. WP 유지관리 플러그인처럼 신속하게 취약점을 패치하는 경우는 드물다는 점을 기억하세요.
활발한 지원과 개발 팀을 갖춘 플러그인만 다운로드하는 것이 좋습니다. 플러그인 리뷰를 확인하거나 포럼에서 평판을 검색하면 이를 파악할 수 있습니다.
Astra Security의 도움
보안이 잘 되는 플러그인을 사용하는 것도 물론 중요하지만, 플러그인 자체의 보안에만 의존하는 것보다 더 효과적인 방법이 있습니다. 바로 자체 전용 보안 시스템을 구축하는 것입니다.
Astra Security는 워드프레스 웹사이트를 위한 올인원 보안 솔루션입니다. Astra가 웹사이트 보안을 관리하는 동안 안심하고 운영에 집중할 수 있습니다. 웹 애플리케이션 방화벽(WAF), 멀웨어 스캐너, 멀웨어 제거, 보안 감사 등 다양한 기능을 제공합니다. 자세한 리뷰는 여기서 확인할 수 있습니다.
Astra 데모를 직접 체험해 보세요.
보안 관련 궁금한 점은 아래 댓글로 남겨주세요. 성심껏 답변드리겠습니다 🙂
또는 여기 채팅을 통해 보안 전문가와 직접 상담하실 수도 있습니다.