🇰🇷 한글 설명
WordPress의 Give Tributes 플러그인 2.3.1 이하 버전에서 신뢰할 수 없는 입력값의 역직렬화로 인한 PHP 객체 주입(PHP Object Injection) 취약점이 발견되었습니다. 공격자가 POP 체인이 포함된 다른 플러그인이나 테마를 함께 사용 중인 사이트를 대상으로 임의 파일 삭제, 민감 데이터 탈취 또는 코드 실행을 수행할 수 있습니다. 이 취약점은 '다중 수신자 허용' 옵션이 활성화되어 있고 'eCard 사용자 정의 메시지' 옵션이 비활성화된 특정 설정 환경에서만 발생합니다.
💡 쉬운 설명
웹사이트의 기부 플러그인 설정 오류를 이용해 해커가 악성 명령을 몰래 끼워 넣을 수 있는 보안 약점입니다. 다른 플러그인과 결합될 경우 사이트의 파일을 지우거나 정보를 빼가는 등 심각한 피해를 줄 수 있습니다.
🇺🇸 원문 (English)
The Give Tributes plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 2.3.1 via deserialization of untrusted input . This makes it possible for unauthenticated attackers to inject a PHP Object. No known POP chain is present in the vulnerable software, which means this vulnerability has no impact unless another plugin or theme containing a POP chain is installed on the site. If a POP chain is present via an additional plugin or theme installed on the target system, it may allow the attacker to perform actions like delete arbitrary files, retrieve sensitive data, or execute code depending on the POP chain present. This vulnerability is only reachable when the "Allow Multiple Recipients" option is enabled for the donation form, as the single-recipient code path applies sanitize_textarea_field() which would neutralize the payload. Exploitation additionally requires the eCard "Custom Message" option to be disabled, which is the plugin default: when it is enabled the personalized message becomes a required field and GiveWP's give_clean() blanks serialized input during validation, causing the donation to be rejected before it is stored.
📍 영향받는 시스템
WordPress Give Tributes plugin versions up to and including 2.3.1
⚔️ 공격 벡터
신뢰할 수 없는 입력값을 통한 PHP 역직렬화(Deserialization) 공격
🛡️ 대응 방법
플러그인을 최신 버전으로 업데이트하고, 취약한 설정(다중 수신자 허용 및 eCard 메시지 비활성화)을 점검하십시오.
🔧 검증 코드
출력된 버전 번호가 2.3.1과 같거나 그보다 낮은지 확인하십시오.
wp plugin list --name give-tributes --format=json | grep -E '"version":"[0-9.]+"'