🇰🇷 한글 설명
The Event Monster 플러그인의 capture_payment() AJAX 핸들러가 클라이언트가 전송한 결제 데이터를 서버 측에서 검증하지 않는 취약점이 발견되었습니다. 공격자는 트랜잭션 ID, 금액, 결제 상태를 조작하여 실제 결제 없이도 예약을 완료하고 QR 코드가 포함된 티켓을 획득할 수 있습니다.
💡 쉬운 설명
결제 시스템이 실제 돈이 들어왔는지 확인하지 않고 사용자가 입력한 정보만 믿고 티켓을 발행해주는 문제입니다. 이를 통해 해커는 돈을 내지 않고도 가짜 결제 정보를 보내 티켓을 공짜로 훔칠 수 있습니다.
🇺🇸 원문 (English)
The Event Monster – Event Management, Events Calendar, Tickets plugin for WordPress is vulnerable to Insufficient Verification of Data Authenticity in versions up to, and including, 2.1.0. This is due to the capture_payment() AJAX handler (registered via wp_ajax_nopriv_em_capture_payment) trusting client-supplied payment data — including transaction ID, amount, and payment status — without performing any server-side verification against the PayPal API or any other payment gateway, and without nonce or capability checks. This makes it possible for unauthenticated attackers to forge payment records, mark bookings as Completed, and obtain confirmation emails containing valid QR code tickets without making any actual payment.
📍 영향받는 시스템
The Event Monster (Event Management, Events Calendar, Tickets) WordPress plugin versions up to and including 2.1.0
⚔️ 공격 벡터
인증되지 않은 공격자가 조작된 결제 데이터를 포함한 AJAX 요청을 전송하여 결제 프로세스를 우회함
🛡️ 대응 방법
해당 플러그인을 최신 보안 패치가 적용된 버전으로 업데이트하거나, 결제 데이터에 대한 서버 측 검증 로직을 구현해야 함
🔧 검증 코드
출력된 플러그인 목록에서 'event-monster'를 확인하고 설치된 버전이 2.1.0 이하인지 확인하십시오.
wp plugin list --allow-root | grep -E 'event-monster'
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
💻 영향받는 소프트웨어
Spring Cloud Gateway Server