id: CVE-2019-16931 info: name: WordPress Visualizer <3.3.1 - Cross-Site Scripting author: ritikchaddha severity: medium description: | WordPress Visualizer plugin before 3.3.1 contains a stored cross-site scripting vulnerability via /wp-json/visualizer/v1/update-chart WP-JSON API endpoint. An unauthenticated attacker can execute arbitrary JavaScript when an admin or other privileged user edits the chart via the admin dashboard. impact: | Successful exploitation of this vulnerability could allow an attacker to inject malicious scripts into web pages viewed by users, leading to potential data theft, session hijacking, or defacement of the affected website. remediation: | Update to the latest version of WordPress Visualizer plugin (3.3.1) or apply the provided patch to fix the XSS vulnerability. reference: - https://wpscan.com/vulnerability/867e000d-d2f5-4d53-89b0-41d7d4163f44 - https://nathandavison.com/blog/wordpress-visualizer-plugin-xss-and-ssrf - https://wpvulndb.com/vulnerabilities/9893 - https://nvd.nist.gov/vuln/detail/CVE-2019-16931 - https://wordpress.org/plugins/visualizer/#developers 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 epss-score: 0.00244 epss-percentile: 0.63842 cpe: cpe:2.3:a:themeisle:visualizer:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 1 vendor: themeisle product: visualizer framework: wordpress tags: cve,cve2019,wp-plugin,wordpress,wp,xss,unauth,wpscan,themeisle http: - 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 # digest: 4b0a00483046022100ebdbe48903267152b3940618aec8f3c9f00c9df84d085fbcb2a2547ee2f10df2022100a520ce530e8ab1ee1e90631190a9746f83fbbf733c95c6a32e75effeb50ac0cf:922c64590222798bb761d5b6d8e72950