Summary
The Redux Framework plugin for WordPress is vulnerable to Stored Cross-Site Scripting in all versions up to, and including, 4.5.15 via the multi_media field. This is due to the field's renderer printing the stored value into an href attribute, a hidden input value and an HTML element without escaping, while every neighbouring attribute in the same method is wrapped in esc_attr(). It is compounded by Redux_Extension_Users::user_meta_save() evaluating a field's 'permissions' requirement against a user id taken from the request body ('checkuser_id') rather than the current user, so a Subscriber can write a field declared for 'manage_options'. This makes it possible for authenticated attackers with Subscriber-level access and above to inject arbitrary web scripts into their own profile record that execute when an administrator views that user's profile in the dashboard. Requires a theme or plugin that registers a multi_media field through the Redux Users API.
CVSS assessment
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Attack vector
- N E T W O R K
- Complexity
- L O W
- Privileges
- L O W
- User interaction
- N O N E
- Scope
- C H A N G E D
- Confidentiality
- L O W
- Integrity
- L O W
- Availability
- N O N E
Weaknesses
-
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
CWE-79
References
- plugins.trac.wordpress.org https://plugins.trac.wordpress.org/browser/redux-framework/tags/4.5.15/redux-core/inc/extensions/multi_media/multi_media/class-redux-multi-media.php#L110
- plugins.trac.wordpress.org https://plugins.trac.wordpress.org/browser/redux-framework/tags/4.5.15/redux-core/inc/extensions/multi_media/multi_media/class-redux-multi-media.php#L147
- plugins.trac.wordpress.org https://plugins.trac.wordpress.org/browser/redux-framework/tags/4.5.15/redux-core/inc/extensions/users/class-redux-extension-users.php#L1010
- plugins.trac.wordpress.org https://plugins.trac.wordpress.org/browser/redux-framework/tags/4.5.15/redux-core/inc/extensions/users/class-redux-extension-users.php#L996
- plugins.trac.wordpress.org https://plugins.trac.wordpress.org/changeset/3741037/redux-framework/trunk/redux-core/inc/extensions/multi_media/multi_media/class-redux-multi-media.php
- plugins.trac.wordpress.org https://plugins.trac.wordpress.org/changeset?reponame=&new=3741037%40redux-framework%2Ftags%2F4.5.16&old=3705066%40redux-framework%2Ftags%2F4.5.15
- www.wordfence.com https://www.wordfence.com/threat-intel/vulnerabilities/id/a4d54e48-3a7f-4add-b842-6948377f2a73?source=cve