🔍 CVE-2026-15414

8.8
CVSS Score
HIGH
2026-08-01
2026-08-12 21:00
✅ 완료

🇰🇷 한글 설명

WordPress용 Subscriptions for WooCommerce 플러그인(2.0.0 이하 버전)에서 권한 상승 취약점이 발견되었습니다. 공격자가 `save_meta_boxes()` 함수를 통해 조작된 POST 요청을 보내면, 멤버십 플랜 메타데이터에 'administrator' 역할을 저장하여 관리자 권한을 획득할 수 있습니다. 이 공격이 성공하려면 Subscriptions for WooCommerce Pro 플러그인이 함께 활성화되어 있어야 합니다.

💡 쉬운 설명

일반 사용자나 낮은 권한을 가진 사용자가 웹사이트의 관리자 권한을 몰래 뺏어올 수 있는 보안 결함입니다. 웹사이트 설정 파일의 검증 미비점을 이용해 자신을 관리자로 등록하는 방식입니다.

🇺🇸 원문 (English)

The Subscriptions for WooCommerce plugin for WordPress is vulnerable to Privilege Escalation in versions up to, and including, 2.0.0. This is due to the `save_meta_boxes()` function persisting the `_wps_plan_user_role` membership plan meta from `$_POST` without an allowlist that excludes privileged roles — the only validations applied, `sanitize_key()` and `wp_roles()->is_role()`, both accept `'administrator'` as a valid value, and the UI's `disabled` attribute on the role dropdown is a client-side-only control trivially bypassed via DevTools or a direct POST request; additionally, because the `wps_membership_plan` custom post type is registered with `capability_type => 'post'`, any user who can edit posts satisfies the `current_user_can('edit_post', $post_id)` guard in `save_meta_boxes()`. This makes it possible for authenticated attackers, with Contributor-level access and above, to escalate their privileges to Administrator by storing `'administrator'` as the role granted on membership acquisition, which the Pro companion plugin then applies via `add_role()` during membership lifecycle events. Successful exploitation requires the Subscriptions for WooCommerce Pro companion plugin to be active, as it is the component that reads the stored `_wps_plan_user_role` meta via `get_post_meta()` and calls `add_role()` to apply the role during membership lifecycle events.

📍 영향받는 시스템

Subscriptions for WooCommerce plugin v2.0.0 및 그 이하 버전 (Pro 플러그인 활성화 시 위험)

⚔️ 공격 벡터

인증된 공격자가 DevTools나 직접적인 POST 요청을 통해 `_wps_plan_user_role` 값을 'administrator'로 조작하여 전송

🛡️ 대응 방법

플러그인을 최신 보안 패치 버전으로 업데이트하고, 불필요한 권한을 가진 사용자의 접근을 제한하십시오.

🔧 검증 코드

출력 결과에 해당 플러그인이 포함되어 있다면, 설치된 버전을 확인하여 2.0.0 이하인지 점검하십시오.

Shell / Script
wp plugin list --status=active | grep -E 'subscriptions-for-woocommerce'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

WordPress