TUCoPS :: 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.
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

Content-Type: text/x-vcard; charset=utf-8;
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;

fn:Chris Travers


TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH