Keep Backup Daily 플러그인에서의 치명적인 XSS//게시일 2026-03-20//CVE-2026-3577

WP-방화벽 보안팀

Keep Backup Daily Vulnerability

플러그인 이름 매일 백업 유지
취약점 유형 크로스 사이트 스크립팅(XSS)
CVE 번호 CVE-2026-3577
긴급 낮은
CVE 게시 날짜 2026-03-20
소스 URL CVE-2026-3577

인증된 (관리자) 저장된 XSS가 Keep Backup Daily (<= 2.1.2)에서 발견됨 — WP‑Firewall의 위험, 탐지 및 실용적인 완화 조치

요약: 저장된 교차 사이트 스크립팅(XSS) 취약점(CVE‑2026‑3577)이 Keep Backup Daily 워드프레스 플러그인에서 보고되었으며, 버전 <= 2.1.2에 영향을 미칩니다. 이 취약점은 악의적인 스크립트가 백업 제목에 저장되고 특권 사용자의 컨텍스트에서 실행될 수 있게 합니다. 이 문제는 버전 2.1.3에서 패치되었습니다. 아래에서는 위험, 실제 영향, 권장 단기 완화 조치(예: WAF/가상 패치 포함) 및 장기적인 보안 코딩 및 운영 관행을 설명합니다.

우리는 매일 워드프레스 사이트를 방어하는 실무자로서 글을 씁니다. 우리의 목표는 사이트 소유자와 개발자가 즉시 취할 수 있는 명확하고 실용적인 단계를 제공하는 것입니다 — 단일 사이트를 운영하든, 수십 개를 관리하든, 플러그인/테마를 구축하든 상관없이.


요약; 지금 당장 해야 할 일

  • Keep Backup Daily를 사용하는 경우 즉시 2.1.3 이상으로 업데이트하십시오. 이것이 가장 좋은 수정 방법입니다.
  • 즉시 업데이트할 수 없는 경우:
    • 의심스러운 입력을 차단하기 위해 WAF 규칙이나 가상 패치를 적용하십시오(아래 예제 규칙 참조).
    • 저장된 페이로드(HTML/스크립트 태그가 포함된 백업 제목)를 검색하고 이를 제거하거나 정리하십시오.
    • 악용 증거를 발견하면 관리자 자격 증명을 재설정하고 회전시키며 세션을 무효화하십시오.
    • 의심스러운 계정이나 활동에 대해 다른 플러그인과 사용자를 감사하십시오.
  • 관리자 접근을 강화하십시오: 강력한 비밀번호, 역할 감사, 세션 관리 및 2FA를 활성화하십시오.
  • 신뢰할 수 있는 IP 범위만 wp‑admin에 접근할 수 있도록 임시 제한을 두는 것을 고려하십시오.

취약점이란 무엇입니까?

  • Keep Backup Daily 플러그인 버전 2.1.2까지 저장된 교차 사이트 스크립팅(XSS) 결함이 존재합니다.
  • 이 취약점은 사용자 제공 백업 제목이 저장되기 전에 적절하게 정리되거나 이스케이프되지 않기 때문에 발생합니다.
  • 백업을 추가하거나 편집할 수 있는 공격자(관리자 역할)는 백업 제목에 JavaScript 또는 HTML 페이로드를 포함할 수 있습니다. 백업 목록이나 다른 페이지가 특권 관리자의 브라우저에서 해당 제목을 렌더링할 때, 스크립트는 관리자의 권한으로 실행됩니다.
  • 이 결함은 악의적인 콘텐츠가 서버에 지속되고 피해자가 영향을 받는 페이지를 로드할 때 나중에 트리거되기 때문에 “저장된 XSS”로 분류됩니다.
  • CVE: CVE‑2026‑3577. CVSS (보고됨) 5.9. Keep Backup Daily 2.1.3에서 패치됨.

중요한 뉘앙스: 이 취약점은 페이로드를 작성하기 위해 관리 권한(또는 백업 생성/편집 기능에 대한 동등한 접근 권한)이 있는 계정을 요구합니다. 이는 익명의 공격자에 의한 직접적인 원격 악용을 제한하지만, 관리 계정이 손상되거나 공격자가 특권 사용자를 속여 행동을 수행하도록 할 수 있는 실제 시나리오에서는 영향이 심각할 수 있습니다(예: 사회 공학을 통해, 또는 일부 설치에서 백업을 생성할 수 있는 낮은 권한 계정을 통해). 관리자 컨텍스트에서의 저장된 XSS는 다음과 같이 악용될 수 있습니다:

  • 인증 쿠키나 세션 토큰을 탈취할 수 있습니다.
  • 관리자를 대신하여 작업 수행(플러그인 설치, 사용자 생성).
  • 파일 업로드 또는 수정(백도어) 또는 예약 작업 생성.
  • 더 넓은 사이트 손상 및 지속성으로 전환.

현실적인 공격 시나리오

  1. 악의적인 내부자 또는 손상된 관리자 계정:
    • 공격자가 관리자 계정을 제어하거나 백업을 생성할 수 있습니다. 그들은 백업 제목에 스크립트를 주입합니다. 다른 관리자가 백업 목록을 볼 때, 스크립트가 실행되어 관리자 수준의 작업(악성코드 설치, 백도어 사용자 추가)을 수행합니다.
  2. 사회 공학 + 제한된 접근:
    • 공격자가 관리자를 설득하여 조작된 백업 링크를 가져오거나 클릭하거나 특정 관리자 화면을 보도록 합니다. 조작된 백업 제목에 페이로드가 포함되어 있으면 해당 관리자의 브라우저에서 실행됩니다.
  3. 플러그인/테마에 의한 2차 손상:
    • 공격자가 백업을 생성하거나 다른 항목을 추가할 수 있는 낮은 권한의 플러그인을 손상시킨 경우, 그들은 나중에 더 높은 권한 사용자가 목록을 볼 때 실행되는 페이로드를 저장할 수 있습니다.

초기 쓰기에 높은 권한이 필요하지만, 관리자 영역에 저장된 XSS는 특권이 있는 컨텍스트를 대상으로 하기 때문에 높은 가치가 있습니다.


피해야 할 것: 당황하지 말고, 빠르게 행동하세요.

이것은 공개된 비인증 원격 코드 실행이 아닙니다. 그럼에도 불구하고:

  • 관리자 화면에서 저장된 XSS를 심각하게 다루십시오. 결과는 불균형적으로 큽니다 — 관리자 브라우저에서 로컬 저장 스크립트 실행은 악성 페이지를 로드하도록 관리자를 유도할 수 있다면 원격 공격자에게 관리자 제어를 주는 것과 사실상 동일합니다.
  • 플러그인을 오랫동안 패치하지 마십시오. 공급업체 패치를 적용하거나 필요하지 않다면 플러그인을 제거하십시오.

즉각적인 수정 단계(행동 계획)

  1. 플러그인을 업데이트하십시오 (최우선).
    • 영향을 받는 모든 사이트에서 Keep Backup Daily를 버전 2.1.3 이상으로 즉시 업그레이드하십시오.
    • 자동 업데이트가 활성화되어 있고 신뢰할 수 있는 경우, 업데이트가 성공적으로 완료되었는지 확인하십시오.
  2. 즉시 업데이트할 수 없는 경우: 임시 가상 패치 또는 WAF 규칙을 활성화하십시오.
    • 의심스러운 문자(스크립트 태그, 각도 괄호)를 포함하여 백업을 생성하거나 편집하는 요청을 차단/모니터링하십시오.
    • 제목 필드에 의심스러운 페이로드를 포함하는 플러그인의 엔드포인트에 대한 POST 요청을 차단하십시오.
    • 관리자 페이지가 백업 제목을 렌더링할 때 출력을 필터링하십시오 (스크립트 태그를 포함하는 마크업 차단).
  3. 저장된 페이로드를 검색하고 정리하십시오.
    • “” 또는 “script” 또는 기타 의심스러운 HTML을 포함하는 백업 제목을 찾으십시오.
    • 데이터베이스에서 해당 행을 제거하거나 정리하십시오. 안전한 텍스트로 교체하십시오.
  4. 모든 활성 관리자 비밀번호를 변경하고 세션을 무효화하십시오.
    • 모든 사용자를 강제로 로그아웃시키고 새 인증을 요구하십시오.
    • 모든 관리자 사용자에 대해 2단계 인증을 활성화하십시오.
  5. 전체 보안 스캔을 실행하십시오.
    • 웹쉘, 최근 수정된 파일, 새로운 관리자 사용자 또는 예약된 작업(크론 이벤트)에 대해 파일과 데이터베이스를 스캔하십시오.
  6. 감사 로그
    • 접근 로그와 플러그인 로그를 검토하십시오. 의심스러운 관리자 행동, 플러그인 파일의 변경 또는 알 수 없는 IP 주소를 찾으십시오.
  7. 침해가 확인되면 알려진 좋은 백업에서 복원하십시오.
    • 자신 있게 정리할 수 없는 침해 증거를 발견하면, 침해 이전 백업에서 복원하고 즉시 플러그인 업데이트를 적용하십시오.

WP‑Firewall 단기 가상 패치(권장)

WP‑Firewall을 실행하는 경우 플러그인 코드를 수정할 필요가 없는 가상 패칭 규칙을 배포할 수 있습니다. 가상 패칭은 HTTP 계층에서 악용 패턴을 차단합니다. 아래는 고려해야 할 안전한 예제 패턴입니다. (시작점으로 취급하십시오; 사이트 전체에 적용하기 전에 스테이징에서 테스트하십시오.)

메모: 이러한 예제는 WAF 엔진을 위한 의사 코드/정규 표현식 안내입니다. 정확한 구현은 방화벽 도구에 따라 다릅니다.

의심스러운 백업 제목 입력 차단(서버 측 POST를 플러그인 엔드포인트로):

# 예: 제목 매개변수에 <script 또는 onerror=가 포함된 POST 차단"

일반 텍스트로 의도된 필드에 HTML 태그 저장 차단:

# 매개변수 'backup_name'에 각괄호가 포함된 경우 거부' 

관리자 페이지에서 일반적인 XSS 벡터 차단:

# 관리자-ajax 또는 플러그인 백엔드에 도달하는 모든 요청에서 스크립트 태그 차단"

비율 제한 및 IP 평판 검사:

  • 비정상적인 IP 또는 지리적 위치에서 백업을 생성하는 요청을 일시적으로 제한하십시오.
  • API 엔드포인트에 추가적인 주의를 기울이십시오.

중요한: 가상 패칭은 완화 조치이며 공식 플러그인 업데이트의 대체물이 아닙니다. 합법적인 관리자 작업 흐름을 차단하지 않도록 주의 깊게 테스트하십시오.


플러그인 개발자를 위한 안전한 코드 수정(권장 수정)

플러그인을 유지 관리하는 개발자이거나 플러그인 템플릿을 편집할 수 있는 사이트 개발자라면 두 가지를 수행하십시오:

  1. 저장 시 입력 정리
  2. 렌더링 시 출력 이스케이프

예: PHP에서 백업 제목을 저장할 때:

<?php

관리자 목록에서 제목을 렌더링할 때:

// 안전한 이스케이프;

제한된 HTML이 필요한 경우 wp_kses()를 사용하여 엄격한 허용 목록을 사용하십시오:

$allowed = array(;

항상 양식 핸들러에 대한 권한 검사 및 nonce를 확인하십시오:

if ( ! current_user_can( 'manage_options' ) ) {;

귀하의 사이트가 표적이 되었는지 감지하는 방법

  1. HTML/스크립트 태그에 대한 백업 기록 검색

WP‑CLI 사용:

# 게시물 또는 플러그인 관련 테이블에서 스크립트 태그를 찾습니다(예시)"

플러그인이 사용자 정의 게시물 유형이나 옵션에 백업을 저장하는 경우 쿼리를 적절히 조정하십시오.

  1. 의심스러운 패턴에 대해 전체 데이터베이스 검색
# 데이터베이스 전반에 걸쳐 "<script"에 대한 일반 검사
  1. 파일 수정 날짜 확인

최근에 변경된 파일, 새로운 플러그인 또는 테마 파일, 업로드된 알 수 없는 PHP 파일을 찾습니다.

  1. 3. 관리자 세션 및 최근 로그인 기록을 검토하세요.
  • 최근 비밀번호 재설정을 위해 wp_users를 확인하십시오.
  • 가능하다면 보안/감사 로그를 확인하십시오.
  1. 신뢰할 수 있는 악성코드 스캐너로 스캔합니다(파일 및 DB)

사건 대응 체크리스트(착취를 감지한 경우)

  1. 분리하다:
    • 사이트를 일시적으로 유지 관리 모드로 전환하거나 IP로 관리자 접근을 제한합니다.
    • 관리형 호스팅을 사용하는 경우, 호스트와 협력하여 격리합니다.
  2. 식별:
    • 저장된 XSS 페이로드(백업 제목)를 찾습니다.
    • 웹 셸 또는 의심스러운 예약 작업을 검색합니다.
  3. 포함하다:
    • 악성 백업 항목(백업 제목)을 제거합니다.
    • 페이로드를 차단하기 위해 WAF 규칙을 적용합니다.
  4. 근절하다:
    • 백도어, 알 수 없는 관리자 사용자 또는 수정된 코어/플러그인 파일을 제거합니다.
    • 제거가 복잡한 경우 깨끗한 백업에서 복원합니다.
  5. 다시 덮다:
    • 플러그인 업데이트를 적용합니다(Keep Backup Daily 2.1.3 이상).
    • 관리자 계정을 강화합니다: 비밀번호 재설정, 2FA 활성화, API 키 교체 및 세션 무효화.
  6. 사건 후:
    • 전체 감사 및 근본 원인 분석을 수행합니다.
    • 모니터링 및 지속적인 스캔을 구현합니다.
    • 정책/규정 준수에 따라 필요 시 이해관계자에게 알립니다.

강화 조언 — 유사한 문제의 가능성을 줄입니다.

  • 최소 권한의 원칙
    • 진정으로 필요한 사람에게만 관리자 권한을 부여합니다. 일상 작업에는 낮은 권한 역할을 사용합니다.
  • 강력한 인증을 활성화하십시오.
    • 모든 관리자 계정에 대해 강력한 비밀번호와 2FA를 시행합니다.
  • 사용자를 정기적으로 감사합니다.
    • 오래된 계정을 제거하고 공유 계정을 제한합니다.
  • 플러그인과 테마를 최신 상태로 유지하십시오.
    • 보안 업데이트를 우선시하고 프로덕션 전에 스테이징에서 테스트합니다.
  • 플러그인 발자국 제한
    • 공격 표면을 줄이기 위해 사용하지 않는 플러그인과 테마를 제거합니다.
  • 모니터링 및 경고
    • 관리 페이지 접근, 파일 변경 및 새로운 예약 작업을 모니터링합니다.
  • 스테이징 및 테스트
    • 업데이트를 먼저 스테이징에 배포하고 WAF 규칙 및 사이트 기능을 확인합니다.
  • 콘텐츠 보안 정책 (CSP)
    • 가능한 경우 CSP를 구현하여 스크립트가 로드될 수 있는 위치를 제한합니다 (참고: CSP는 WordPress 사이트에서 신중하게 구현해야 합니다).

로그 및 포렌식 팁

  • 로그를 즉시 보존합니다 (웹 서버, PHP 오류 로그, 접근 로그).
  • 심층 포렌식을 위해 정리하기 전에 DB 스냅샷을 유지합니다.
  • 의심스러운 행동과 관련된 정확한 타임스탬프와 IP를 기록합니다.
  • 데이터 도난이 의심되는 경우 영향을 받은 계정을 문서화하고 귀하의 관할권에서 법적/통지 요구 사항을 따릅니다.

여러 사이트를 관리하는 호스트 및 기관을 위한 안내

여러 사이트를 관리하는 경우 이러한 제어를 중앙에서 적용합니다:

  • 대량 패치 프로세스
    • 플러그인 업데이트를 신속하게 적용하기 위해 예약된 패치 프로그램을 구현합니다.
  • 중앙 집중식 WAF 정책
    • 모든 사이트가 업데이트될 때까지 알려진 악용 패턴을 차단하기 위해 가상 패치를 배포합니다.
  • 역할 및 세션 정책
    • 클라이언트 사이트 전반에 걸쳐 SSO, 중앙 집중식 로깅 및 2FA와 같은 측면 정책을 시행합니다.
  • 자동화된 스캔 및 보고
    • 저장된 XSS 및 패치되지 않은 플러그인을 감지하기 위해 주기적인 스캔을 실행합니다.
  • 클라이언트 커뮤니케이션
    • 취약성 및 귀하가 취한 조치(비밀번호 재설정, 2FA 포함)에 대해 클라이언트에게 알리십시오.

예시 데이터베이스 정리 SQL(극도로 주의하여 사용; 먼저 테스트)

백업이 저장된 플러그인 테이블 이름 wp_keep_backup_daily_backups 그리고 백업_제목 열은 다음과 같습니다:

-- 의심스러운 항목 찾기(드라이 런);

중요한: 대량 업데이트 전에 데이터베이스를 백업하십시오. SQL 실행이 불편하다면 개발자나 호스트와 협력하십시오.


관리 컨텍스트에 저장된 XSS가 공격자에게 높은 가치를 지니는 이유

  • 관리 세션 및 쿠키는 사이트 관리에 대한 접근을 허용합니다. 해당 컨텍스트에서 실행되는 스크립트는 관리자를 가장하고 관리 UI를 통해 가능한 모든 작업을 수행할 수 있습니다.
  • 저장된 XSS는 관리 세션 간에 지속될 수 있어 공격자에게 행동할 시간을 제공합니다.
  • 공격자는 종종 취약점을 연결합니다: 초기 접근(약한 관리자 비밀번호 또는 다른 플러그인 손상) + 저장된 XSS → 전체 사이트 장악.

WP-Firewall이 귀하를 보호하는 방법(우리가 제공하는 것과 그것이 어떻게 도움이 되는지)

WP-Firewall을 구축하고 관리하는 팀으로서, 우리는 이러한 사건을 예방하고 대응하는 데 도움이 되는 보호 조치를 설계합니다:

  • 관리형 웹 애플리케이션 방화벽(WAF)
    • 가상 패치: 플러그인 코드를 건드리지 않고 즉시 악용 패턴을 차단하는 규칙 세트를 배포합니다.
    • 공용 및 관리 엔드포인트 모두에서 알려진 XSS 페이로드 패턴에 대한 HTTP 요청 검사 및 차단.
    • 반복적인 악용 시도를 잡기 위한 비율 제한 및 IP 평판 검사.
  • 악성코드 스캔
    • 스크립트 주입, 의심스러운 PHP 파일 및 백도어 서명을 찾기 위한 지속적인 파일 및 데이터베이스 스캔.
  • OWASP 상위 10대 위험 완화
    • XSS 및 더 고급 주입 유형을 포함한 일반적인 주입 벡터에 대한 자동화된 규칙 매핑.
  • 무제한 대역폭 및 신뢰할 수 있는 집행
    • WAF는 애플리케이션 계층에서 실행되며, 적절히 구성되었을 때 합법적인 관리자 워크플로와 간섭하지 않도록 최적화되어 있습니다.
  • 자동 복구 옵션(유료 플랜에서)
    • 예를 들어, 알려진 악용 페이로드의 자동 차단 및 의심스러운 파일의 격리.

WAF는 방어 심층 전략의 한 층이며, 적시 업데이트, 안전한 코딩 또는 최소 권한 관리의 대체물이 아님을 기억하세요.


개발자 체크리스트: 탄력적인 플러그인 구축

플러그인을 작성하는 경우, 저장된 XSS 및 유사한 문제를 피하기 위해 이러한 관행을 따르세요:

  1. 입력 검증 및 정리:
    • 텍스트 입력에는 sanitize_text_field()를 사용하세요.
    • HTML 입력의 경우, 엄격한 허용 목록과 함께 wp_kses()를 사용하세요.
  2. 출력 이스케이프:
    • 템플릿에 출력하기 전에 항상 이스케이프하세요: esc_html(), esc_attr(), esc_url() 또는 wp_kses_post()를 적절히 사용하세요.
  3. 권한 확인 및 논스:
    • 사용자 권한(current_user_can()) 및 관리자 작업을 위한 논스를 확인하세요.
  4. 최소 신뢰:
    • 모든 입력을 적대적으로 취급하세요, 심지어 권한이 있는 사용자로부터도.
  5. 로깅 및 모니터링 훅:
    • 감사 로깅을 위한 훅을 제공하고 디버그 정보를 쉽게 추출할 수 있도록 하세요.
  6. 보안 검토 및 자동화된 테스트:
    • 데이터 흐름과 적절한 이스케이프를 검증하는 보안 단위 테스트를 포함하세요.

새로움: 몇 분 안에 관리 영역을 안전하게 보호하세요 — WP‑Firewall Basic(무료) 사용해 보세요.

우리는 정기적으로 실무자들이 패치 및 정리하는 동안 강력한 보호층을 추가할 수 있는 빠르고 무위험한 방법이 필요하다는 것을 봅니다. 우리의 Basic(무료) 플랜은 바로 이를 위해 설계되었습니다 — 즉각적이고 필수적인 보호를 비용 없이, 장기 약정 없이 제공합니다.

기본(무료) 플랜에 포함된 내용:

  • 필수 WAF 보호가 포함된 관리형 방화벽
  • 방화벽을 위한 무제한 대역폭
  • 파일 및 데이터베이스 주입을 탐지하는 악성코드 스캐너
  • OWASP 상위 10대 위험에 대한 완화 범위

즉각적인 기본 보호를 원하신다면—몇 분 안에 배포됩니다—여기에서 WP‑Firewall Basic (무료) 플랜에 가입하세요:
https://my.wp-firewall.com/buy/wp-firewall-free-plan/


최종 권장 사항 — 우선 순위가 매겨진 체크리스트

  1. Keep Backup Daily를 2.1.3으로 업데이트하거나 필요하지 않다면 제거하세요.
  2. 즉시 업데이트할 수 없는 경우:
    • 백업 제목에 WAF 규칙 또는 가상 패칭 차단 스크립트 태그를 배포하세요.
    • 저장된 백업 제목을 검색하고 정리하세요.
    • 자격 증명 회전을 강제하고 세션을 무효화하세요.
  3. 관리자 접근을 강화하세요: 2FA, 역할 감사, 불필요한 관리자 사용자 제거.
  4. 웹 셸, 백도어 및 비정상 파일에 대해 사이트를 스캔하세요.
  5. 비정상적인 관리자 페이지 접근 또는 수정 사항을 탐지하기 위해 모니터링을 설정하세요.
  6. 여러 사이트를 관리하는 경우, 업데이트를 전체에 푸시하고 중앙 집중식 WAF 규칙을 사용하세요.

WP-Firewall의 마무리 생각

관리자 페이지에 저장된 XSS는 교묘하게 위험합니다. 공격자는 관리자 세션의 컨텍스트에서 JavaScript를 실행할 수 있다면 RCE를 착수할 필요가 거의 없습니다 — 관리자의 브라우저가 권한 상승 및 지속성을 위한 경로가 됩니다. 플러그인을 패치하는 것은 필요하지만, 계층화된 대응을 강력히 권장합니다: 플러그인을 업데이트하고, 관리자 접근을 강화하며, 지속된 페이로드를 스캔하고, 정리를 마치는 동안 가상 패칭/WAF를 사용하세요.

WAF 규칙 구현, 사이트 스캔 또는 사건 후 복원 및 강화에 도움이 필요하시면, WP‑Firewall의 보안 팀이 도와드릴 수 있습니다. 우리는 WordPress에 맞춘 관리형 WAF, 악성코드 스캔 및 사건 대응 지침을 제공합니다. 패치 및 검증하는 동안 즉각적인 보호를 받기 위해 기본(무료) 플랜으로 시작하는 것을 고려하세요.

안전하게 지내세요, 도움이 필요하시면 저희가 도와드리겠습니다.


wordpress security update banner

WP Security Weekly를 무료로 받으세요 👋
지금 등록하세요
!!

매주 WordPress 보안 업데이트를 이메일로 받아보려면 가입하세요.

우리는 스팸을 보내지 않습니다! 개인정보 보호정책 자세한 내용은