🇰🇷 한글 설명
AutomatorWP 플러그인(6.0.4 이하)에서 사용자 역할 생성 시 권한 상한 검증이 누락되어, 인증되지 않은 공격자가 댓글 작성자 필드 등을 통해 administrator 역할 계정을 생성할 수 있습니다. 관리자가 댓글을 승인하는 과정에서 공격이 트리거되어 전체 사이트 관리 권한이 탈취될 수 있습니다.
💡 쉬운 설명
워드프레스 자동화 플러그인의 결함으로 외부인이 관리자 계정을 몰래 만들 수 있습니다. 관리자가 평범하게 댓글을 승인하면 그 순간 공격자에게 사이트 전체 권한이 넘어갑니다.
🇺🇸 원문 (English)
The AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 6.0.4. This is due to missing privilege-ceiling validation in the `create_user()` function within the anonymous-user action (and equally in the Create User and Add/Change Role WordPress-integration actions), which verify only that the submitted role exists via `automatorwp_get_editable_roles()` without confirming the role falls at or below the acting context's privilege level — allowing attacker-controlled trigger tag data (e.g., a `{comment_author}` tag bound to the Role option) to supply any role, including `administrator`, unchallenged. This makes it possible for unauthenticated attackers to create a new administrator-role account tied to an attacker-controlled email address, receiving the generated password via WordPress's new-user notification email and thereby gaining full administrative access to the site. Exploitation requires the site to have an anonymous automation configured with the Role option bound to a dynamic trigger tag such as `{comment_author}`, and is triggered when a site administrator performs the routine action of approving a comment — an action that provides no in-UI indication that it will mint a new privileged account from the comment author field.
📍 영향받는 시스템
AutomatorWP 플러그인 6.0.4 이하 버전을 사용하는 워드프레스 사이트 (익명 자동화에서 Role 옵션이 {comment_author} 등 동적 태그에 연결된 경우)
⚔️ 공격 벡터
공격자가 댓글 작성자 필드에 원하는 역할·이메일을 넣어 댓글을 등록하고, 관리자가 이를 승인하면 administrator 계정이 생성되어 비밀번호가 이메일로 전송됨
🛡️ 대응 방법
AutomatorWP를 6.0.5 이상 등 패치된 버전으로 업데이트하고, 동적 태그가 역할 옵션에 연결된 자동화 규칙을 점검·제거하며, 최근 생성된 관리자 계정을 확인합니다.
🔧 검증 코드
출력된 버전이 6.0.4 이하이면 취약한 것이며, 6.0.5 이상이면 해당 CVE가 수정된 버전입니다. 아무것도 나오지 않으면 플러그인이 설치되어 있지 않은 것입니다.
wp plugin get automatorwp --field=version 2>/dev/null || grep -rh "Version:" $(find / -path '*automatorwp*' -name 'automatorwp.php' 2>/dev/null | head -1) 2>/dev/null