🇰🇷 한글 설명
WordPress용 GamiPress 플러그인의 'heading_size' 숏코드 속성에서 입력값 검증 및 출력 이스케이프 미비로 인해 저장형 XSS 취약점이 발생합니다. 인증된 기여자(Contributor) 이상의 권한을 가진 공격자가 악성 스크립트를 삽입할 수 있으며, 숏코드가 렌더링되는 시점에 스크립트가 실행되어 보안 필터를 우회합니다.
💡 쉬운 설명
게이미피케이션 기능을 제공하는 플러그인의 특정 설정값에 악성 코드를 숨겨 넣을 수 있는 보안 약점이 발견되었습니다. 권한이 있는 사용자가 게시물에 코드를 심으면, 다른 사용자가 해당 페이지를 볼 때 공격자가 의도한 동작이 실행될 수 있습니다.
🇺🇸 원문 (English)
The GamiPress – Gamification plugin to reward points, achievements, badges & ranks in WordPress plugin for WordPress is vulnerable to Stored Cross-Site Scripting via 'heading_size' Shortcode Attribute in all versions up to, and including, 7.9.9.1 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The wp_kses_post filter applied at post save does not neutralize this payload because only the inert shortcode text is stored in post_content; the dangerous HTML is synthesized at render time by the shortcode handler, entirely bypassing save-time sanitization.
📍 영향받는 시스템
GamiPress 플러그인 7.9.9.1 이하 모든 버전
⚔️ 공격 벡터
기여자 이상의 권한을 가진 공격자가 'heading_size' 숏코드 속성에 악성 스크립트를 삽입하여 게시물을 저장함
🛡️ 대응 방법
GamiPress 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 GamiPress 플러그인의 버전을 확인하여 7.9.9.1 이하인지 점검하십시오.
wp plugin list --status=active | grep -i 'gamipress'