🇰🇷 한글 설명
WordPress의 My Calendar – Accessible Event Manager 플러그인 3.8.7 이하 버전에서 권한 상승 취약점이 발견되었습니다. 공격자가 인증 없이 특정 파라미터를 조작하여 임의의 PHP 함수를 호출할 수 있으며, 이를 통해 관리자 계정의 정보를 덮어쓰고 사이트 전체 제어권을 탈취할 수 있습니다.
💡 쉬운 설명
해커가 로그인하지 않고도 웹사이트의 관리자 권한을 몰래 뺏을 수 있는 심각한 보안 구멍이 발견되었습니다. 이 구멍을 이용하면 해커가 사이트의 모든 설정을 바꾸고 관리자처럼 행동할 수 있습니다.
🇺🇸 원문 (English)
The My Calendar – Accessible Event Manager plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.8.7. The public `mcs` GET parameter is reflected into post content unsanitized before WordPress core's `do_shortcode` filter runs, allowing an unauthenticated attacker to inject a nested `[my_calendar above=...]` shortcode; `mc_generate_calendar_nav()` then splits the `above` attribute on commas and dispatches each element via `call_user_func()` with no authentication, authorization, or callable allowlist check. This makes it possible for unauthenticated attackers to invoke arbitrary loaded PHP functions, enabling a call chain in which the shortcode `$params` array is passed to `edit_user()` — which PHP coerces to integer `1` as the `$user_id` argument — overwriting the credentials of the initial Administrator account (user ID 1) and granting the attacker full wp-admin access. Exploitation is trivially reachable via the plugin's auto-generated `/my-calendar/` page, which is publicly accessible by default upon plugin activation.
📍 영향받는 시스템
My Calendar – Accessible Event Manager plugin (WordPress) version 3.8.7 and below
⚔️ 공격 벡터
인증되지 않은 공격자가 공개된 /my-calendar/ 페이지의 mcs GET 파라미터에 조작된 숏코드를 주입하여 임의의 PHP 함수를 실행
🛡️ 대응 방법
해당 플러그인을 최신 버전으로 업데이트하거나, 취약점이 해결된 패치가 나올 때까지 플러그인 사용을 중단하십시오.
🔧 검증 코드
명령어 결과에 'my-calendar'가 포함되어 있다면 해당 플러그인이 설치된 것이며, 설치된 버전이 3.8.7 이하인지 확인이 필요합니다.
wp plugin list --status=active | grep -i 'my-calendar'