Reviews and Rating <= 1.1.4 - Missing Authorization to Authenticated (Subscriber+) Arbitrary Modification via sync_reviews AJAX Action
Description
The Reviews and Rating – Docplanner plugin for WordPress is vulnerable to authorization bypass in all versions up to, and including, 1.1.4. This is due to the plugin not properly verifying that a user is authorized to perform an action. This makes it possible for authenticated attackers, with subscriber-level access and above, to trigger outbound scraping of external websites and write scraped review data into the wp_dp_reviews database table, as well as send feature-request emails from the site administrator's email address.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
1- Range: <=1.1.4
Patches
Vulnerability mechanics
Root cause
"Missing authorization checks on AJAX handlers allow any authenticated user to trigger administrative actions."
Attack vector
An authenticated attacker with subscriber-level access or higher can craft AJAX requests to the `wp_ajax_*` actions registered by the plugin. By calling `scan_profile` and `import_reviews`, the attacker triggers outbound scraping of arbitrary external websites and writes the scraped review data into the `wp_dp_reviews` database table. Additionally, calling `request_feature` sends feature-request emails spoofed from the site administrator's email address. The only protection is a nonce check, which is trivially obtainable by any logged-in user. [CWE-862]
Affected code
The vulnerability resides in the `admin_init()` method of `class-reviews-and-rating-docplanner.php` (line 301 in version 1.1.4). The AJAX handlers `scan_profile`, `import_reviews`, `scan_reviews`, `sync_reviews`, and `request_feature` are registered without any capability check beyond a nonce, allowing any authenticated user (subscriber-level and above) to invoke them.
What the fix does
The patch is not included in the bundle, but the advisory states that the vulnerability exists because the plugin does not verify that a user is authorized to perform the action. The fix would require adding WordPress capability checks (e.g., `current_user_can('edit_pages')` or a similar appropriate capability) to each AJAX callback before executing the sensitive operation. Without such checks, any authenticated user can invoke administrative functions.
Preconditions
- authThe attacker must have a valid WordPress user account with at least Subscriber role.
- networkThe attacker must be able to send POST requests with a valid AJAX nonce (obtainable from the WordPress admin pages).
Generated on Jun 24, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- plugins.trac.wordpress.org/browser/reviews-and-rating-docplanner/tags/1.1.4/classes/class-reviews-and-rating-docplanner.phpmitre
- plugins.trac.wordpress.org/browser/reviews-and-rating-docplanner/tags/1.1.4/classes/class-reviews-and-rating-docplanner.phpmitre
- plugins.trac.wordpress.org/browser/reviews-and-rating-docplanner/tags/1.1.4/classes/class-reviews-and-rating-docplanner.phpmitre
- plugins.trac.wordpress.org/browser/reviews-and-rating-docplanner/tags/1.1.4/classes/class-reviews-and-rating-docplanner.phpmitre
- plugins.trac.wordpress.org/browser/reviews-and-rating-docplanner/tags/1.1.4/classes/class-reviews-and-rating-docplanner.phpmitre
- www.wordfence.com/threat-intel/vulnerabilities/id/5f71c834-15ee-48ea-8f8d-6ea4b72a14d8mitre
News mentions
0No linked articles in our index yet.