affiliate-toolkit <= 3.9.2 - Unauthenticated Stored Cross-Site Scripting via 'atkp_product_producturl' Parameter
Impact
The affiliate-toolkit – Multi-Network Affiliate & Amazon Product Display plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'atkp_product_producturl' parameter in all versions up to, and including, 3.9.2 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation by unauthenticated attackers requires that the plugin's AJAX loading / AJAX handler option is enabled…
Source excerpt · WordfenceExploitation by unauthenticated attackers requires that the plugin's AJAX loading / AJAX handler option is enabled (atkp_options::get_ajax_loading_enabled() || get_ajax_handler_enabled()) and the attacker knows a product id to render. On a default installation, where that is not configured, the vulnerability requires attackers with contributor-level access and above.
Affected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
cservit · affiliate-toolkit – Multi-Network Affiliate & Amazon Product Display
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 3.9.2 (inclusive) | affected |
Original source description
The affiliate-toolkit – Multi-Network Affiliate & Amazon Product Display plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'atkp_product_producturl' parameter in all versions up to, and including, 3.9.2 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. Exploitation by unauthenticated attackers requires that the plugin's AJAX loading / AJAX handler option is enabled (atkp_options::get_ajax_loading_enabled() || get_ajax_handler_enabled()) and the attacker knows a product id to render. On a default installation, where that is not configured, the vulnerability requires attackers with contributor-level access and above.
References
- Security advisory www.wordfence.com/threat-intel/vulnerabilities/id/c0ceea54-924a-41c1-a157-8eba24b5f666
- Source reference plugins.trac.wordpress.org/browser/affiliate-toolkit-starter/tags/3.9.2/includes/helper/atkp_formatter.php
- Source reference plugins.trac.wordpress.org/browser/affiliate-toolkit-starter/tags/3.9.2/includes/basics/ATKPTools.php
- Source reference plugins.trac.wordpress.org/browser/affiliate-toolkit-starter/tags/3.9.2/includes/atkp_posttypes_product.php
- Source reference plugins.trac.wordpress.org/browser/affiliate-toolkit-starter/tags/3.9.2/includes/helper/atkp_formatter.php
- Patch plugins.trac.wordpress.org/changeset