Description
The User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'wpuf_payment_method' parameter in all versions up to, and including, 4.3.12 due to insufficient input sanitization and output escaping. This makes it possible for authenticated attackers, with subscriber-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The bypass technique involves appending a valid gateway keyword such as 'bank' to the HTML payload, causing sanitize_text_field() to yield only the keyword for routing purposes while the full malicious raw value is stored and later rendered unescaped.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
wedevs User Frontend – Membership, User Registration, User Profile, User Directory & Content Restriction with Frontend Post Submission
Default version status: unaffected
0 to ≤ 4.3.12affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/12f1cbc1-42c1-4ace-88ec-8aa981367c85?source=cve ↗
- https://plugins.trac.wordpress.org/browser/wp-user-frontend/tags/4.3.12/includes/Admin/List_Table_Transactions.php#L204 ↗
- https://plugins.trac.wordpress.org/browser/wp-user-frontend/tags/4.3.12/wpuf-functions.php#L2498 ↗
- https://plugins.trac.wordpress.org/browser/wp-user-frontend/tags/4.3.12/includes/Frontend/Payment.php#L566 ↗
- https://plugins.trac.wordpress.org/browser/wp-user-frontend/tags/4.3.12/Lib/Gateway/Bank.php#L102 ↗
- https://plugins.trac.wordpress.org/browser/wp-user-frontend/tags/4.3.12/includes/Frontend/Payment.php#L503 ↗
- https://plugins.trac.wordpress.org/changeset/3722911/wp-user-frontend/trunk/includes/Admin/List_Table_Transactions.php ↗