Плагин MStore API для WordPress уязвим для Insecure Direct Object Reference во всех версиях до 4,18.3. Это связано с функцией update_user_p…
Плагин MStore API для WordPress уязвим для Insecure Direct Object Reference во всех версиях до 4,18.3. Это связано с функцией update_user_profile() в контроллерах/flutter-user.php обработке параметра 'meta_data' JSON без какого-либо разрешительного списка, блочного списка или проверки мета-ключей. Функция считывает необработанный JSON от php://input (линия 1012), декодирует его (линия 1013), аутентифицирует пользователя через валидацию cookie (линия 1015), а затем напрямую итерирует поставляемый пользователем массив мета_дата, пропускающий произвольные ключи и значения по update_user_meta() (линия 1080) без дезинфекции или ограничений. Это позволяет аутентифицированным злоумышленникам с доступом на уровне подписчика и выше изменять произвольные поля пользовательских метаподавок на своих собственных учетных записях, включая такие чувствительные поля, как wp_user_level (для эскалации до проверок на уровне администратора), флаги авторизации для плагинов (например, _wpuf_user_active, aiowps_account_status) и поля выставления/профиля с несанитированными значениями. Обратите внимание, что wp_capabilities не может быть непосредственно использован таким образом, потому что это требует серийного значения массива, но wp_user_level (простое целое число) и многочисленные мета-ключи для плагина эксплуатируются.
Функциональность авторизации системы не предотвращает возможности одного пользователя получить доступ к данным другого пользователя путём изменения значения ключа, идентифицирующего эти данные.
https://cwe.mitre.org/data/definitions/639.html →Открыть в коллекции CWE →