English Advisory →
CVE-2026-601375.9/MEDIUMCISA KEV 등재CWE-89

WordPress WP_Query 'author__not_in' 매개변수 SQL 인젝션 취약점 (CVE-2026-60137)

영향받는 벤더 / 생태계
wordpress
대상 컴포넌트 / 패키지
wordpress
권고문 발행일
2026-07-17

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

WordPress 코어 버전 6.8.x (6.8.6 미만), 6.9.x (6.9.5 미만), 7.0.x (7.0.2 미만)

파급 효과

취약한 플러그인이나 테마가 검증되지 않은 사용자 입력을 WP_Query의 'author__not_in' 매개변수로 전달할 경우, 공격자가 데이터베이스의 민감한 정보를 탈취할 수 있는 SQL 인젝션(SQLi) 공격이 가능합니다.

권장 조치

WordPress 코어를 최신 보안 패치 버전(6.8.6, 6.9.5, 7.0.2 이상)으로 즉시 업데이트하고, 웹 애플리케이션 방화벽(WAF) 규칙을 적용하십시오.

영향받는 제품 및 버전 범위

WordPress 코어 6.8.x (6.8.6 미만), 6.9.x (6.9.5 미만), 7.0.x (7.0.2 미만)

권장 패치 및 임시 완화(Workaround) 가이드

PATCH & WORKAROUND

1. WordPress 코어 업데이트

가장 확실한 해결책은 WordPress를 공식 패치가 적용된 버전으로 업데이트하는 것입니다.

  • WordPress 7.0 계열: 7.0.2 이상으로 업데이트
  • WordPress 6.9 계열: 6.9.5 이상으로 업데이트
  • WordPress 6.8 계열: 6.8.6 이상으로 업데이트

WP-CLI를 사용하는 환경에서는 아래 명령어를 통해 즉시 업데이트를 수행할 수 있습니다.

bash
# WordPress 코어 업데이트 수행
wp core update --version=7.0.2

2. 임시 완화 조치 (WAF 규칙 적용)

패치 적용 전까지, 웹 애플리케이션 방화벽(WAF)을 통해 author__not_in 매개변수에 숫자가 아닌 문자열이나 SQL 특수문자(싱글 쿼터, 주석 처리 등)가 포함된 요청을 차단하십시오.

ModSecurity 규칙 예시:

apache
SecRule ARGS:author__not_in "[^0-9,]" \
    "id:1000001,\
    phase:2,\
    deny,\
    status:400,\
    log,\
    msg:'CVE-2026-60137: SQLi Attempt in author__not_in parameter'"

3. 개발자 가이드 (플러그인/테마 개발자)

플러그인이나 테마에서 WP_Query를 호출할 때, 외부 입력값을 정수형 배열로 강제 변환(Type Casting)하여 안전하게 처리하십시오.

php
// 취약한 코드 예시
$args = [
    'author__not_in' => $_GET['exclude_authors']
];
$query = new WP_Query($args);

// 안전한 코드 예시 (정수형 배열로 변환)
$exclude_authors = isset($_GET['exclude_authors']) ? array_map('intval', (array)$_GET['exclude_authors']) :;
$args = [
    'author__not_in' => $exclude_authors
];
$query = new WP_Query($args);
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
실제 공격에 악용되고 있는 취약점이므로, 운영 중인 WordPress 사이트를 즉시 최신 보안 버전(7.0.2, 6.9.5, 6.8.6)으로 업데이트하십시오.

코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요

서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.

평균 설정 시간 3분 · Zero-Day 자동 룰 업데이트
이 웹 취약점(WAF 우회 & RCE)을 안전한 실습 랩에서 직접 재현해 보세요
실습 랩 & 보안 강의 보러가기

취약점 발생 원리 및 공격 메커니즘

본 취약점(CVE-2026-60137)은 WordPress의 핵심 데이터베이스 쿼리 클래스인 WP_Query에서 발생합니다. 구체적으로 author__not_in 매개변수를 처리할 때 입력값에 대한 적절한 정제(Sanitization) 및 타입 캐스팅이 누락되어 발생합니다.

일반적으로 WordPress 코어 자체는 사용자 입력을 직접 WP_Query에 바인딩하지 않지만, 수많은 서드파티 플러그인 및 테마가 HTTP 요청 매개변수(GET/POST)를 검증 없이 WP_Query 배열 인자로 직접 전달하는 패턴을 사용합니다. 공격자는 이 경로를 악용하여 악의적인 SQL 구문을 주입할 수 있으며, 데이터베이스 내의 사용자 자격 증명(비밀번호 해시), 세션 토큰 및 기타 민감한 비공개 데이터를 조회할 수 있습니다.

이 취약점은 미정부 CISA KEV(Known Exploited Vulnerabilities) 카탈로그에 등재되어 실제 야생(In-the-Wild)에서 적극적으로 악용되고 있음이 확인되었으며, EPSS 점수가 0.94(94%)에 달해 매우 신속한 대응이 요구됩니다.

공식 보안 권고문 및 참조 링크

NVD Original English Description

WordPress 6.8.x before 6.8.6, 6.9.x before 6.9.5, and 7.0.x before 7.0.2 does not properly sanitise the author__not_in parameter of WP_Query, which could allow SQL Injection when a plugin or theme passes untrusted input to the parameter.

SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동: