🇰🇷 한글 설명
WordPress용 Gravity Forms 플러그인의 신용카드 필드에서 저장형 XSS 취약점이 발견되었습니다. 공격자가 조작된 POST 요청을 통해 'Card Type' 하위 필드에 악성 스크립트를 삽입하면, 관리자가 대시보드에서 해당 제출 내역을 확인할 때 스크립트가 실행될 수 있습니다.
💡 쉬운 설명
해커가 가짜 결제 정보를 보내 웹사이트 관리자의 화면에 악성 코드를 심을 수 있는 보안 약점입니다. 관리자가 관리자 페이지에서 해당 내용을 클릭하는 순간 해커가 관리자의 권한을 탈취할 위험이 있습니다.
🇺🇸 원문 (English)
The Gravity Forms plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the Credit Card field's 'Card Type' sub-field (`input_<id>.4`) in all versions up to, and including, 2.9.30. This is due to the `get_value_entry_detail()` method in the `GF_Field_CreditCard` class outputting the card type value without escaping, combined with `get_value_save_entry()` accepting and storing unsanitized user input for the `input_<id>.4` parameter. The Card Type field is not rendered on the frontend form (it is normally derived from the card number), but the backend submission parser blindly accepts it if included in the POST request. This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator views the form entry in the WordPress dashboard.
📍 영향받는 시스템
Gravity Forms plugin for WordPress (version 2.9.30 및 그 이하 모든 버전)
⚔️ 공격 벡터
인증되지 않은 공격자가 POST 요청의 'input_<id>.4' 파라미터에 악성 스크립트를 포함하여 전송
🛡️ 대응 방법
Gravity Forms 플러그인을 최신 보안 패치가 적용된 버전으로 즉시 업데이트하십시오.
🔧 검증 코드
출력된 결과에서 gravityforms의 버전이 2.9.30 이하인지 확인하십시오.
wp plugin list --allow-root | grep -E 'gravityforms'