🇰🇷 한글 설명
WordPress용 W3 Total Cache 플러그인 2.10.7 이하 버전에서 'comment' 파라미터의 입력값 검증과 출력 이스케이프가 부족하여 저장형 XSS가 발생합니다. HTML Minify가 활성화되고 기본 'mfunc' 무시 목록이 존재할 때, 공격자는 서버 시간 기반 md5(time()) 플레이스홀더 네임스페이스를 예측하여 악성 스크립트를 삽입할 수 있습니다.
💡 쉬운 설명
W3 Total Cache 플러그인의 댓글 입력 처리에 결함이 있어, 공격자가 페이지에 악성 스크립트를 심을 수 있습니다. 그 페이지를 방문한 사용자의 브라우저에서 해당 스크립트가 실행됩니다.
🇺🇸 원문 (English)
The W3 Total Cache plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'comment' parameter in all versions up to, and including, 2.10.7 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires HTML Minify to be enabled with the default 'mfunc' entry present in the ignored-comment stems list, and exploitation depends on the attacker predicting the md5(time()) placeholder namespace by reading the server clock via the HTTP Date response header within the applicable time window.
📍 영향받는 시스템
WordPress W3 Total Cache 플러그인 2.10.7 이하 버전 (HTML Minify 활성화 시)
⚔️ 공격 벡터
미인증 공격자가 comment 파라미터에 악성 스크립트를 삽입하고, 서버 Date 헤더로 시간을 파악해 md5(time()) 플레이스홀더를 예측하여 저장형 XSS를 유발
🛡️ 대응 방법
W3 Total Cache를 2.10.8 이상 버전으로 업데이트하거나, 업데이트 전까지 HTML Minify 기능을 비활성화
🔧 검증 코드
출력된 버전이 2.10.7 이하이면 취약하며, 2.10.8 이상이면 패치된 것입니다. 명령어 결과가 없으면 플러그인이 설치되지 않은 것입니다.
wp plugin get w3-total-cache --field=version 2>/dev/null || grep -i 'Version:' wp-content/plugins/w3-total-cache/w3-total-cache.php 2>/dev/null