🇰🇷 한글 설명
Sadad QA Payment WordPress 플러그인 1.28 이하 버전은 결제 알림의 진위를 올바르게 검증하지 않습니다. 검증에 사용되는 가맹점 시크릿이 기본적으로 비어 있고, 서명된 나머지 데이터를 공격자가 조작할 수 있습니다. 이로 인해 인증되지 않은 공격자가 유효한 결제 확인을 위조하여 실제 결제 없이 주문을 결제 완료로 표시할 수 있습니다.
💡 쉬운 설명
이 플러그인은 결제가 실제로 됐는지 확인하는 장치가 허술합니다. 누구든 가짜 결제 완료 신호를 보내 돈을 내지 않고도 주문을 완료 처리할 수 있습니다.
🇺🇸 원문 (English)
The Sadad QA Payment WordPress plugin through 1.28 does not correctly verify the authenticity of incoming payment notifications, as the verification is keyed on a merchant secret that is empty by default and the rest of the signed data is attacker-controlled, allowing unauthenticated attackers to forge a valid confirmation and mark orders as paid without payment.
📍 영향받는 시스템
Sadad QA Payment WordPress 플러그인 1.28 이하 버전
⚔️ 공격 벡터
공격자가 결제 알림 요청을 위조하고 기본 빈 가맹점 시크릿을 이용해 서명을 맞춰 주문을 결제 완료 상태로 변경합니다.
🛡️ 대응 방법
플러그인을 패치된 최신 버전으로 업데이트하고, 가맹점 시크릿을 강력한 값으로 설정하며, 결제 알림은 PG사 측 서명 검증 및 서버 측 거래 조회로 재확인하세요.
🔧 검증 코드
출력된 버전 번호가 1.28 이하이면 취약하며, 1.28보다 높은 패치 버전이면 영향을 받지 않습니다. 아무것도 출력되지 않으면 플러그인이 설치되지 않은 것입니다.
wp plugin list --name=sadad-qa-payment --field=version 2>/dev/null || grep -rh 'Version:' wp-content/plugins/*sadad*/*.php 2>/dev/null | head -1