🔍 CVE-2026-3568

4.3
CVSS Score
MEDIUM
2026-04-09
2026-07-24 21:10
✅ 완료

🇰🇷 한글 설명

MStore API 워드프레스 플러그인의 update_user_profile() 함수가 사용자 제공 meta_data를 검증 없이 처리하여, 인증된 공격자가 임의의 사용자 메타 필드를 수정 가능하다. wp_user_level 등 민감한 필드 조작으로 권한 상승 또는 XSS 공격이 가능하다.

💡 쉬운 설명

워드프레스 플러그인이 사용자 계정 정보 변경 시 충분히 검증하지 않아서, 로그인한 기본 권한 사용자가 관리자 권한이나 다른 사용자 정보를 임의로 수정할 수 있다. 이를 통해 계정 탈취나 악성 코드 삽입이 가능하다.

🇺🇸 원문 (English)

The MStore API plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.18.3. This is due to the update_user_profile() function in controllers/flutter-user.php processing the 'meta_data' JSON parameter without any allowlist, blocklist, or validation of meta keys. The function reads raw JSON from php://input (line 1012), decodes it (line 1013), authenticates the user via cookie validation (line 1015), and then directly iterates over the user-supplied meta_data array passing arbitrary keys and values to update_user_meta() (line 1080) with no sanitization or restrictions. This makes it possible for authenticated attackers, with Subscriber-level access and above, to modify arbitrary user meta fields on their own accounts, including sensitive fields like wp_user_level (to escalate to administrator-level legacy checks), plugin-specific authorization flags (e.g., _wpuf_user_active, aiowps_account_status), and billing/profile fields with unsanitized values (potentially enabling Stored XSS in admin contexts). Note that wp_capabilities cannot be directly exploited this way because it requires a serialized array value, but wp_user_level (a simple integer) and numerous plugin-specific meta keys are exploitable.

📍 영향받는 시스템

MStore API WordPress plugin versions up to and including 4.18.3

⚔️ 공격 벡터

Authenticated subscriber-level user sends malicious JSON to update_user_profile endpoint specifying arbitrary meta keys to bypass validation

🛡️ 대응 방법

Update MStore API plugin to version 4.18.4 or later, implement whitelist validation for allowed meta keys in update_user_profile function

🔧 검증 코드

If vulnerable version number (4.18.3 or earlier) is found in output, plugin requires immediate update; if no output, plugin is either patched or not installed

Shell / Script
grep -r 'Version:' wp-content/plugins/mstore-api/mstore-api.php 2>/dev/null | grep -oE '4\.(0-9|1[0-7]|18\.[0-3])' && echo 'Vulnerable version detected'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

PHP