🇰🇷 한글 설명
WordPress용 Forminator Forms 플러그인의 1.57.3.1 이하 모든 버전에는 'previous_draft_id' 파라미터의 사용자 제어 키에 대한 검증 누락으로 인한 안전하지 않은 직접 객체 참조(IDOR) 취약점이 존재합니다. 인증되지 않은 공격자가 다른 사용자의 임시저장 폼을 삭제하거나 공격자가 제어하는 제출로 덮어쓸 수 있으며, 이 과정에서 nonce 검사는 공개적으로 획득 가능하므로 우회됩니다.
💡 쉬운 설명
다른 사람이 저장해 둔 폼 작업 내용을 인증 없이 지우거나 바꿔치기할 수 있는 취약점입니다. 공유된 '나중에 계속하기' 링크에서 draft_id를 얻으면 공격이 가능합니다.
🇺🇸 원문 (English)
The Forminator Forms – Contact Form, Payment Form & Custom Form Builder plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 1.57.3.1 via the 'previous_draft_id' parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to delete arbitrary saved drafts belonging to other users and take over those draft identifiers by overwriting them with attacker-controlled form submissions. This requires the attacker to have obtained a victim's draft_id, which may be harvested from a shared "continue later" link; the nominally present nonce check is effectively bypassed because the nonce is publicly obtainable by any unauthenticated visitor loading a form page.
📍 영향받는 시스템
Forminator Forms 플러그인 1.57.3.1 이하 모든 버전이 설치된 WordPress 사이트
⚔️ 공격 벡터
공격자가 피해자의 draft_id를 확보한 뒤 previous_draft_id 파라미터를 조작해 임시저장 데이터를 삭제하거나 덮어씀
🛡️ 대응 방법
Forminator 플러그인을 1.57.3.2 이상(또는 제공되는 최신 패치 버전)으로 업데이트
🔧 검증 코드
출력된 버전이 1.57.3.1 이하이면 취약하므로 취약점 조치가 필요하고, 그보다 높은 패치 버전이면 조치가 완료된 것입니다.
wp plugin get forminator --field=version 2>/dev/null || grep -m1 'Version:' wp-content/plugins/forminator/forminator.php