WordPress Plugin Vulnerabilities

Target First Plugin 2.0 - Unauthenticated Stored XSS via Licence Key

Description

The Target First WordPress Plugin, also previously known as Watcheezy, suffered from a critical unauthenticated stored XSS vulnerability.

An attacker could change the licence key value through a POST on any URL with the "weeWzKey" parameter that will be save as the "weeID" option. The input value is not sanitized. Authentication and credentials are not verified by the plugin.

Moreover, the licence key value (weeID) is appended in the page footer on every page of the website without URL sanitization:

echo "<!-- Target First -->\n<script type=\"text/javascript\" src=\"//www.watcheezy.net/deliver/targetfirst.js?wzkey=".get_option('weeID')."\" async defer></script>\n<!-- END Target First -->";

Note: The vendor released a fix, as version 1.0, instead of 2.1 or 3.0 (go figure ...)

Proof of Concept

curl -X POST https://mysite.com/ -d 'weeWzKey="></script><script>alert(1)</script>'

Affects Plugins

References

Classification

Type
XSS
CWE
CVSS

Miscellaneous

Original Researcher
Vincent MICHEL
Submitter
Vincent MICHEL
Submitter twitter
Verified
No

Timeline

Publicly Published
2021-05-05 (about 3 years ago)
Added
2021-05-07 (about 3 years ago)
Last Updated
2021-06-01 (about 2 years ago)

Other