Original release date: March 14, 2002<BR>
Last revised: September 17, 2002<BR>
Source: CERT/CC<BR>

<P>A complete revision history can be found at the end of this file.

<A NAME="affected">
<H2>Systems Affected</H2>

<UL>
<LI>Systems running Oracle9i Application Server</LI>
<LI>Systems running Oracle9i Database</LI>
<LI>Systems running Oracle8i Database</LI>
</UL>

<A NAME="overview">
<H2>Overview</H2>

<p>
Multiple vulnerabilities in <a href="http://www.oracle.com/ip/deploy/ias/content.html">Oracle Application Server</a> and <a href="http://www.oracle.com/ip/deploy/database/content.html">Oracle Database</a> have recently been discovered.  These vulnerabilities include buffer overflows, insecure default settings, failures to enforce access controls, and failure to validate input.  The impacts of these vulnerabilities include the execution of arbitrary commands or code, denial of service, and unauthorized access to sensitive information.
</p>


<A NAME="description">
<H2>I. Description</H2>

<p>
Oracle Application Server includes a web server based on the <a href="http://httpd.apache.org/">Apache HTTP Server</a>.  Oracle extends the web server with a variety of different components that can be used provide interfaces to database applications.  These components include, but are not limited to, a Procedural Language/Structured Query Language (PL/SQL) module, Java Server Pages, XSQL Servlets, and Simple Object Access Protocol (SOAP) applications.  A number of vulnerabilities have been reported in these and other components used in Oracle Application Server and Oracle Database.
</p>
<p>
Although these reports focus primarily on Oracle9i Application Server, Oracle Database products are also affected.  In particular, vulnerable versions of the PL/SQL module can be used with <a href="http://www.oracle.com/ip/deploy/ias/content.html">Oracle9i Application Server</a>, <a href="http://www.oracle.com/ip/deploy/database/9i/content.html">Oracle9i Database</a>, and <a href="http://www.oracle.com/ip/deploy/database/8i/content.html">Oracle8i Database</a>.
</p>
<p>
The vulnerabilities referenced in this advisory were reported in several publications by David Litchfield of <a href="http://www.nextgenss.com/">NGSSoftware</a>:
<ul>
<li>Hackproofing Oracle Application Server<br>
<a href="http://www.nextgenss.com/papers/hpoas.pdf">http://www.nextgenss.com/papers/hpoas.pdf</a></li>
<li>NGSSoftware Insight Security Research Advisory #NISR20122001<br>
<a href="http://www.nextgenss.com/advisories/plsql.txt">http://www.nextgenss.com/advisories/plsql.txt</a></li>
<li>NGSSoftware Insight Security Research Advisory #NISR06022002A<br>
<a href="http://www.nextgenss.com/advisories/oraplsextproc.txt">http://www.nextgenss.com/advisories/oraplsextproc.txt</a></li>
<li>NGSSoftware Insight Security Research Advisory #NISR06022002B<br>
<a href="http://www.nextgenss.com/advisories/oraplsbos.txt">http://www.nextgenss.com/advisories/oraplsbos.txt</a></li>
<li>NGSSoftware Insight Security Research Advisory #NISR06022002C<br>
<a href="http://www.nextgenss.com/advisories/orajsa.txt">http://www.nextgenss.com/advisories/orajsa.txt</a><br>
<a href="http://www.nextgenss.com/advisories/orajsp.txt">http://www.nextgenss.com/advisories/orajsp.txt</a></li>
</ul>
</p>
<p>
For the complete list of Oracle-related vulnerabilities published by the CERT/CC, please search the <a href="http://www.kb.cert.org/vuls">Vulnerability Notes Database</a> using the term "<a href="http://www.kb.cert.org/vuls/byid?searchview&query=oracle">Oracle</a>".  Details about specific vulnerabilies can be found in the appropriate Vulnerability Note.
</p>

<H4>Buffer overflows</H4>
<p>
Several buffer-overflow vulnerabilities exist in the way the PL/SQL module handles HTTP requests and configuration parameters.  Default configuration settings in a range of components are insecure, and different components fail to apply access restrictions uniformly.  These vulnerabilities expose both the systems running Oracle Application Server and the information held in the underlying databases to undue risk.
</p>
<p>
Two more buffer overflow vulnerabilities exist in code that processes configuration parameters. These parameters processes configuration parameters that can be specified via the PL/SQL gateway web administration interface.  By default, access to the PL/SQL gateway web administration interface is not restricted [<A HREF="http://www.kb.cert.org/vuls/id/611776">VU#611776</A>].
</p>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/500203">VU#500203</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via help page request
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/313280">VU#313280</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via HTTP Location header
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/750299">VU#750299</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via HTTP request
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/878603">VU#878603</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via HTTP Authorization header
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/659043">VU#659043</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via Database Access Descriptor password
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/923395">VU#923395</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via cache directory name
</P>


<H4>Insecure default configurations</H4>
<p>
The default installation of Oracle Application Server includes a number of insecure configuration settings, such as well-known default passwords and unrestricted access to applications and sensitive information.
</p>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/307835">VU#307835</A></B> - 
Oracle9i Application Server OWA_UTIL procedures expose sensitive information
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/736923">VU#736923</A></B> - 
Oracle 9iAS SOAP components allow anonymous users to deploy applications by default
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/611776">VU#611776</A></B> - 
Oracle9i Application Server PL/SQL Gateway web administration interface uses null authentication by default
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/698467">VU#698467</A></B> - 
Oracle 9iAS default configuration allows access to "globals.jsa" file
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/476619">VU#476619</A></B> - 
Oracle 9iAS default configuration allows arbitrary users to view sensitive configuration files
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/712723">VU#712723</A></B> - 
Oracle 9iAS default configuration uses well-known default passwords
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/168795">VU#168795</A></B> - 
Oracle 9iAS allows anonymous remote users to view sensitive Apache services by default
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/278971">VU#278971</A></B> - 
Oracle 9i Application Server does not adequately handle requests for nonexistent JSP files thereby disclosing web folder path information
</P>


<H4>Failure to enforce access controls</H4>
<p>
Oracle Application Server does not uniformly enforce access restrictions.  Different components do not adequately check authorization before granting access to protected resources.
</p>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/180147">VU#180147</A></B> - 
Oracle 9i Database Server PL/SQL module allows remote command execution without authentication
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/193523">VU#193523</A></B> - 
Oracle9i Application Server allows unauthenticated access to PL/SQL applications via alternate Database Access Descriptor
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/977251">VU#977251</A></B> - 
Oracle 9iAS XSQL Servlet ignores file permissions allowing arbitrary users to view sensitive configuration files
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/547459">VU#547459</A></B> -
Oracle 9iAS creates temporary files when processing JSP requests that are world-readable
</P>


<H4>Failure to validate input</H4>

<P>In one case, the PL/SQL module does not properly handle a malformed HTTP request.</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/805915">VU#805915</A></B> - 
Oracle9i Application Server Apache PL/SQL module does not properly handle HTTP Authorization header
</P>



<A NAME="impact">
<H2>II. Impact</H2>

<p>
The impacts of these vulnerabilities include the remote execution of arbitrary code, remote execution of commands and SQL queries, disclosure of sensitive information, and denial of service.
</p>

<H4>Remote execution of arbitrary commands and code</H4>
<p>
This section contains vulnerabilities that permit a remote intruder to cause a denial of service or execute arbitrary commands, code, or queries on the system.
</p>
<p>Some of these vulnerabilities allow execution with the privileges of the Apache process.  On UNIX systems, the Apache process typically runs as the "oracle" user. On Windows systems, the Apache service typically runs as the SYSTEM user; therefore, an attacker could gain complete control of the system by exploiting these vulnerabilities.
</p>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/500203">VU#500203</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via help page request
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/313280">VU#313280</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via help page request Location: header
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/750299">VU#750299</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via HTTP request
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/878603">VU#878603</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via HTTP Authorization header password parameter
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/659043">VU#659043</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via Database Access Descriptor password
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/923395">VU#923395</A></B> - 
Oracle9i Application Server Apache PL/SQL module vulnerable to buffer overflow via cache directory name
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/180147">VU#180147</A></B> - 
Oracle 9i Database Server PL/SQL module allows remote command execution without authentication
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/736923">VU#736923</A></B> - 
Oracle 9iAS SOAP components allow anonymous users to deploy applications by default
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/712723">VU#712723</A></B> - 
Oracle 9iAS default configuration uses well-known default passwords
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/611776">VU#611776</A></B> - 
Oracle9i Application Server PL/SQL Gateway web administration interface uses null authentication by default
</P>


<H4>Unauthorized access to sensitive information</H4>
<p>
A number of vulnerabilities disclose configuration information or expose data stored in underlying databases.  Also, insecure applications could allow an intruder to execute SQL queries.  Oracle system programmers may wish to examine these vulnerabilities in Oracle's sample pages to prevent similar vulnerabilities in their own Oracle applications.</p>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/307835">VU#307835</A></B> - 
Oracle9i Application Server OWA_UTIL PL/SQL application exposes procedures that are remotely accessible by arbitrary users
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/193523">VU#193523</A></B> - 
Oracle 9i Application Server allows unauthenticated access to PL/SQL applications via alternate Database Access Descriptor
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/698467">VU#698467</A></B> - 
Oracle 9iAS default configuration allows access to "globals.jsa" file
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/476619">VU#476619</A></B> - 
Oracle 9iAS default configuration allows arbitrary users to view sensitive configuration files
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/977251">VU#977251</A></B> - 
Oracle 9iAS XSQL Servlet ignores file permissions allowing arbitrary users to view sensitive configuration files
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/168795">VU#168795</A></B> - 
Oracle 9iAS allows anonymous remote users to view sensitive Apache services by default
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/278971">VU#278971</A></B> - 
Oracle 9i Application Server does not adequately handle requests for nonexistent JSP files thereby disclosing web folder path information
</P>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/547459">VU#547459</A></B> -
Oracle 9iAS creates temporary files when processing JSP requests that are world-readable
</P>


<H4>Denial of service</H4>
<p>
In the case where the PL/SQL module does not properly handle an HTTP request, a denial-of-service vulnerability exists.  Also, an unsuccessful attempt to exploit a buffer overflow vulnerability could crash the Apache service.
</p>

<P><B><A HREF="http://www.kb.cert.org/vuls/id/805915">VU#805915</A></B> - 
Oracle9i Application Server Apache PL/SQL module does not properly handle HTTP Authorization header
</P>


<A NAME="solution">
<H2>III. Solution</H2>
<p>
Oracle has provided patches and workarounds that address most of these vulnerabilities.  Sites using Oracle Application Server are encouraged to install the appropriate patches and make the recommended configuration changes provided by Oracle.
</p>
<p>
Solutions and workarounds for specific vulnerabilities can be found in individual <a href="http://www.kb.cert.org/vuls">Vulnerability Notes</a> and in the following Oracle security alerts:
</p>

<ul>
<li>Oracle Security Alert #29<br>
<a href="http://otn.oracle.com/deploy/security/pdf/plsextproc_alert.pdf">http://otn.oracle.com/deploy/security/pdf/plsextproc_alert.pdf</a></li>
<li>Oracle Security Alert #28<br>
<a href="http://otn.oracle.com/deploy/security/pdf/ias_modplsql_alert.pdf">http://otn.oracle.com/deploy/security/pdf/ias_modplsql_alert.pdf</a></li>
<li>Oracle Security Alert #25<br>
<a href="http://otn.oracle.com/deploy/security/pdf/modplsql.pdf">http://otn.oracle.com/deploy/security/pdf/modplsql.pdf</a></li>
<li>Oracle Security Alert #22<br>
<a href="http://otn.oracle.com/deploy/security/pdf/ias_soap_alert.pdf">http://otn.oracle.com/deploy/security/pdf/ias_soap_alert.pdf</a><br></li>
</ul>

<p>
Security and patch information for Oracle products are available at the following locations:
<ul>
<li>Oracle Security Alerts<br>
<a href="http://otn.oracle.com/deploy/security/alerts.htm">http://otn.oracle.com/deploy/security/alerts.htm</a>
<li>MetaLink (registration required)<br>
<a href="http://metalink.oracle.com/">http://metalink.oracle.com/</a>
</ul>
</p>

<p>
Sites using Oracle Application Server may also find David Litchfield's<i><a href="http://www.nextgenss.com/papers/hpoas.pdf"> Hackproofing Oracle Application Server</a></i> paper useful in describing the impacts and various interactions of these vulnerabilities.
</p>

<h4>Apply a patch</h4>
<p>
Oracle has released patches that address some of these vulnerabilities.  Patch information can be found in <a href="http://otn.oracle.com/deploy/security/pdf/ias_modplsql_alert.pdf">Oracle Security Alert #28</a> and <a href="http://otn.oracle.com/deploy/security/pdf/modplsql.pdf">Oracle Security Alert #25</a> and on the <a href="http://metalink.oracle.com/">MetaLink</a> web site (registration required).
</p>

<H4>Secure default configuration</H4>

<p>
Oracle has provided documentation on changing vulnerable default configuration settings.  For details, consult individual Vulnerability Notes and the Oracle Security Alerts referenced <a href="#solution">above</a>.
</p>


<HR NOSHADE>

<p>
The CERT Coordination Center thanks David Litchfield and Oracle for information used in this document.
</p>

<P></P>

<HR NOSHADE>

<P>Authors: <A HREF="mailto:cert@cert.org?subject=CA-2002-08%20Feedback [VU%23136400]">Art Manion, Jason A. Rafail, and Shawn Van Ittersum</A>
</P>
<P></P>
<hr noshade>


<A NAME="vendors">
<H2>Appendix A. - Vendor Information</H2>

<P>
This appendix contains statements provided by vendors for this
advisory.  We will update this section as vendors provide new or
modified statements, and we will note the changes in our revision
history.  If a particular vendor is not listed below, we have not
received their comments.
</P>

<p>
<A NAME="references"><H2>Appendix B. - References</H2></A>

<ol>
<li><a href="http://www.kb.cert.org/vuls/id/500203">http://www.kb.cert.org/vuls/id/500203</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/313280">http://www.kb.cert.org/vuls/id/313280</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/750299">http://www.kb.cert.org/vuls/id/750299</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/878603">http://www.kb.cert.org/vuls/id/878603</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/659043">http://www.kb.cert.org/vuls/id/659043</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/923395">http://www.kb.cert.org/vuls/id/923395</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/307835">http://www.kb.cert.org/vuls/id/307835</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/736923">http://www.kb.cert.org/vuls/id/736923</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/611776">http://www.kb.cert.org/vuls/id/611776</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/698467">http://www.kb.cert.org/vuls/id/698467</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/476619">http://www.kb.cert.org/vuls/id/476619</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/712723">http://www.kb.cert.org/vuls/id/712723</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/168795">http://www.kb.cert.org/vuls/id/168795</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/278971">http://www.kb.cert.org/vuls/id/278971</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/180147">http://www.kb.cert.org/vuls/id/180147</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/193523">http://www.kb.cert.org/vuls/id/193523</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/977251">http://www.kb.cert.org/vuls/id/977251</a></li>
<li><a href="http://www.kb.cert.org/vuls/id/805915">http://www.kb.cert.org/vuls/id/805915</a></li>
<LI><A HREF="http://www.kb.cert.org/vuls/id/547459">http://www.kb.cert.org/vuls/id/547459</A></LI>
<li><a href="http://www.nextgenss.com/papers/hpoas.pdf">http://www.nextgenss.com/papers/hpoas.pdf</a></li>
<li><a href="http://www.nextgenss.com/advisories/plsql.txt">http://www.nextgenss.com/advisories/plsql.txt</a></li>
<li><a href="http://www.nextgenss.com/advisories/oraplsextproc.txt">http://www.nextgenss.com/advisories/oraplsextproc.txt</a></li>
<li><a href="http://www.nextgenss.com/advisories/oraplsbos.txt">http://www.nextgenss.com/advisories/oraplsbos.txt</a></li>
<li><a href="http://www.nextgenss.com/advisories/orajsa.txt">http://www.nextgenss.com/advisories/orajsa.txt</a></li>
<li><a href="http://www.nextgenss.com/advisories/orajsp.txt">http://www.nextgenss.com/advisories/orajsp.txt</a></li>
<li><a href="http://otn.oracle.com/deploy/security/pdf/plsextproc_alert.pdf">http://otn.oracle.com/deploy/security/pdf/plsextproc_alert.pdf</a></li>
<li><a href="http://otn.oracle.com/deploy/security/pdf/ias_modplsql_alert.pdf">http://otn.oracle.com/deploy/security/pdf/ias_modplsql_alert.pdf</a></li>
<li><a href="http://otn.oracle.com/deploy/security/pdf/modplsql.pdf">http://otn.oracle.com/deploy/security/pdf/modplsql.pdf</a></li>
<li><a href="http://otn.oracle.com/deploy/security/pdf/ias_soap_alert.pdf">http://otn.oracle.com/deploy/security/pdf/ias_soap_alert.pdf</a></li>
</ol>

<!--#include virtual="/include/footer_nocopyright.html" -->

<P>Copyright 2002 Carnegie Mellon University.</P>

<P>Revision History
<PRE>
March 14, 2002:  Initial release
March 14, 2002:  Changed title and references to Appendix A.
March 15, 2002:  Added Oracle Database language to Description section
September 17, 2002:  Fixed Oracle search URL
</PRE>