COMMAND
Cart32
SYSTEMS AFFECTED
Cart32 v3.5 and below
PROBLEM
Following is based on a Xato Security Advisory XATO-112000-01.
The Cart32 shopping cart application from McMurtrey/Whitaker &
Associates, Inc. is vulnerable to a number of information leakage
and other attacks. Furthermore, common user misconfigurations
and bad password encryption make the application more vulnerable,
possibly allowing a full compromise of the server's security.
The Cart32 shopping cart application is a Win32 executable that
resides on a web server as cart32.exe and c32web.exe. There are
a number of parameters that can be passed to these CGI
applications that will reveal server information, namely physical
paths to the web root, physical paths to the Windows directory,
and physical paths to the program files directory. The following
urls demonstrate this problem:
http://www.example.com/cgi-bin/cart32.exe/error
http://www.example.com/cgi-bin/c32web.exe/ShowAdminDir
http://www.example.com/cgi-bin/c32web.exe/CheckError?error=53
Cart32 is also vulnerable to a denial of service attack that will
jump the processor to 100% usage by entering the following url:
http://www.example.com/cgi-bin/c32web.exe/ShowProgress
Another problem is that many people often (as set up by their ISP
or web hosting company) put the cart32.ini file in the same
directory as cart32.exe and c32web.exe. If that file is in that
directory and is readable, then much more information can be
revealed about the server, especially if the Debug section exists
in that file. Cart32.ini contains a lightly encrypted admin
password and server configuration information. The Debug section
can contain plaintext passwords, server environment variables,
and other sensitive information. The issue of leaving the
cart32.ini file has been publicly discussed in the past and Cart32
does have a KB article about this issue but it is still a very
common problem as any search engine will reveal. This issue does
need to be readdressed, especially considering the weakness of
their encryption.
On November 6, 2000 Colin Hart and Cart32 issued a joint advisory
(BID 195) addressing the issue of the weak encryption. They also
stated that they will not be releasing the actual algorithm. For
more info see:
http://oliver.efri.hr/~crv/security/bugs/Others/cart2.html
Because Xato does not agree with the concept of security through
obscurity, they have put together this snippet of VBScript code
to demonstrate how a password can be unencrypted:
Cart32Decode = Chr(Asc(Mid(sPass, 8)) - 12) & _
Chr(Asc(Mid(sPass, 5)) - 8) & _
Chr(Asc(Mid(sPass, 3)) - 16) & _
Chr(Asc(Mid(sPass, 15)) - 15) & _
Chr(Asc(Mid(sPass, 9)) - 9) & _
Chr(Asc(Mid(sPass, 1)) - 12) & _
Chr(Asc(Mid(sPass, 4)) - 3) & _
Chr(Asc(Mid(sPass, 11)) - 5) & _
Chr(Asc(Mid(sPass, 13)) - 11) & _
Chr(Asc(Mid(sPass, 6)) - 5) & _
Chr(Asc(Mid(sPass, 2)) - 1) & _
Chr(Asc(Mid(sPass, 2)) - 1) & _
Chr(Asc(Mid(sPass, 14)) - 13) & _
Chr(Asc(Mid(sPass, 12)) - 10) & _
Chr(Asc(Mid(sPass, 10)) - 6) & _
Chr(Asc(Mid(sPass, 7)) - 8)
As mentioned in Colin Hart's advisory, version 3.5a will fix this
problem.
SOLUTION
Cart32 has issued an updated version 3.5a that addresses most of
these issues and has an updated version available at their web
site (www.cart32.com).