AOH :: HP Unsorted S :: C07-2496.HTM

SQL-Ledger and LedgerSMB directory traversal, arbitrary code execution



Full disclosure: Directory Transversal and Arbitrary Code Execution Vulnerability in SQL-Ledger and LedgerSMB
Full disclosure: Directory Transversal and Arbitrary Code Execution Vulnerability in SQL-Ledger and LedgerSMB



This is a multi-part message in MIME format.
--------------070506020108030801070808
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi all;

Another security issue has been found in LedgerSMB < 1.1.5 and all 
versions of SQL-Ledger which allows an attacker to engage in directory 
transversal, retrieval of sensitive information, user account 
fabrication, or even arbitrary code execution.  This was fixed in 
LedgerSMB 1.1.5 and despite ample warning, the maintainer of SQL-Ledger 
has not corrected the problem.

The problem occurs because the blacklisting functions for the text 
editor strip out potentially dangerous targets rather than denying 
access when a problem is detected.  The stripping of such "dangerous" 
elements involves first stripping the $userpath (usually users) and then 
the $memberfile (by default users/members) and then opening the file 
that remains.

So, to go up two levels and open foo.txt, you could pass a url 
containing the argument of file=.users./users/members./foo.txt to the 
url for editing the template.  After these are stripped out, you are 
left with ../../foo.txt.  You can also retrieve the memberfile by using 
the path of file=useuserusers/memberssrs/members.  Then by crafting a 
similar URL or by altering the web page to post custom variables, you 
can cause the application to overwrite this file, possibly deleting or 
changing passwords, or adding user accounts.

This can also be used to cause arbitrary code to be executed as well.  
SQL-Ledger and LedgerSMB < 1.2 rely on server-writable and executable 
Perl scripts to store user preferences.  These scripts are run at every 
page load, are created on login, and destroyed at logout.  Using the 
same method, you can add arbitrary Perl code to the end of these files 
causing that to be loaded the next time the target user loads a page.

Best Wishes,
Chris Travers

--------------070506020108030801070808
Content-Type: text/x-vcard; charset=utf-8;
 name="chris.vcf"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="chris.vcf"

begin:vcard
fn:Chris Travers
n:Travers;Chris
email;internet:chris@metatrontech.com 
tel;work:509-888-0220
tel;cell:509-630-7794
x-mozilla-html:FALSE
version:2.1
end:vcard


--------------070506020108030801070808--

The entire AOH site is optimized to look best in Firefox® 3 on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2014 AOH
We do not send spam. If you have received spam bearing an artofhacking.com email address, please forward it with full headers to abuse@artofhacking.com.