Home Page | Skip to Navigation | Skip to Content | Skip to Search | Skip to Footer

Vulnerabilties in FTP and HTTP access to Oracle XML Database 9.2.0.1

Attack ID: CPAI-2003-29
Publish Date:
Category: Remote code execution
Vulnerable Systems: Oracle 9i XDB (XML Database) ver 9.2.0.1
Source: http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-litchfield-paper.pdf
Description: Oracle XML Database is vulnerable to 4 different buffer oveflow attacks via its FTP and HTTP access.
Severity:
  Succesful exploit may lead to remote code execution.
Details:

The Oracle XML Databse (XDB) is accessible via FTP on port 2100 and HTTP on port 8080. There are 4 different buffer overflows in the FTP and HTTP servers, via:

  • Long username or password to the HTTP and FTP servers
  • FTP server 'test' and 'lock' commands with overly long parameters
Attack Detection:

The FTP 'test' and 'lock' commands will be blocked with log:

reason: command: 'test' was blocked

Solution:

Use User-Authentication to authenticate users prior to acessing the Oracle XDB FTP and HTTP servers. This will require authentication prior to accessing the server as well as protect from the 'test' and 'lock' commands vulnerabilities.

  1. To configure the security servers to listen on ports 2100 (FTP) and 8080 (HTTP), edit $FWDIR/conf/fwauthd.conf on the module and add the lines:
  8080 fwssd in.ahttpd wait 0
  2100 fwssd in.aftpd wait 0

Restart the module (by issuing 'cpstop' followed by 'cpstart') so the changes will take effect.

  1. In SmartDashboard, define two new TCP services (via Manage->Services-> New -> TCP):
    1. Name: 'Oracle_XDB_FTP'

      Port: 2100

      Click on the 'Advanced' button, and from the 'Protocol Type' drop-down list select 'FTP'.

    2. Name: 'Oracle_XDB_HTTP'

      Port: 8080

      Click on the 'Advanced' button, and from the 'Protocol Type' drop-down list select 'HTTP'.

  2. Define a policy with a user-authentication rule that uses the newly created services. For example:

    Source: Oracle_Users@Internal_Net

    Destination: OracleServer

    Services: Oracle_XDB_FTP, Oracle_XDB_HTTP

    Action: User Auth

    Track: Log

  3. Install policy on the module.
Industry Reference:
Additional Information: