🇰🇷 한글 설명
WordPress의 Gravity Forms 플러그인 2.10.5 이하 버전에서 입력값 검증 및 출력 이스케이프 미흡으로 인한 저장형 XSS 취약점이 발견되었습니다. 공격자는 인증되지 않은 상태에서도 임의의 웹 스크립트를 삽입할 수 있으며, wp_kses_post의 허점과 클라이언트 측 스크립트의 처리 오류를 악용하여 이벤트 핸들러 속성을 실행할 수 있습니다.
💡 쉬운 설명
해커가 게시판이나 양식에 악성 코드를 몰래 심어두면, 일반 사용자가 해당 페이지를 볼 때 코드가 자동으로 실행되어 정보를 훔칠 수 있습니다. 플러그인이 특정 태그는 허용하면서도 위험한 실행 명령어를 제대로 걸러내지 못해 발생하는 문제입니다.
🇺🇸 원문 (English)
The Gravity Forms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Post Body Field Value in all versions up to, and including, 2.10.5 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. The exploit survives save-time sanitization because wp_kses_post allows the required HTML tags and attributes, and the client-side tooltip script re-parses the browser-decoded aria-label value as innerHTML while only stripping script elements, leaving onerror and other event-handler attributes fully intact and executable.
📍 영향받는 시스템
WordPress Gravity Forms plugin (버전 2.10.5 및 그 이하 모든 버전)
⚔️ 공격 벡터
인증되지 않은 공격자가 Post Body 필드 값에 onerror와 같은 이벤트 핸들러가 포함된 HTML을 삽입하여 공격
🛡️ 대응 방법
Gravity Forms 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 gravityforms의 버전을 확인하고 2.10.5 이하인지 체크하십시오.
wp plugin list --allow-root | grep -E 'gravityforms'