Description
The Paypal Shortcode plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'amount' and 'name' shortcode attributes in all versions up to, and including, 0.3. This is due to insufficient input sanitization and output escaping on user-supplied shortcode attributes. The swer_paypal_shortcode() function extracts shortcode attributes using extract() and shortcode_atts() at line 89, then directly concatenates the $name and $amount values into HTML input element value attributes at lines 105-106 without applying esc_attr() or any other escaping function. This makes it possible for authenticated attackers, with Contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
Metrics
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:NWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| swergroup | Paypal Shortcodes | <= 0.3 |
References
- https://plugins.trac.wordpress.org/browser/paypal-shortcodes/tags/0.3/paypal-shortcodes.php#L105
- https://plugins.trac.wordpress.org/browser/paypal-shortcodes/tags/0.3/paypal-shortcodes.php#L106
- https://plugins.trac.wordpress.org/browser/paypal-shortcodes/tags/0.3/paypal-shortcodes.php#L89
- https://plugins.trac.wordpress.org/browser/paypal-shortcodes/trunk/paypal-shortcodes.php#L105
- https://plugins.trac.wordpress.org/browser/paypal-shortcodes/trunk/paypal-shortcodes.php#L106
- https://plugins.trac.wordpress.org/browser/paypal-shortcodes/trunk/paypal-shortcodes.php#L89
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a9521ae8-e20e-49dd-a402-5521f8d2d98e?source=cve
Timeline
- Published
- Mar 21, 2026
- Last modified
- Jun 17, 2026
- NVD status
- Deferred