Oracle File Overwrite Security Vulnerability Privacy and Legal Notice

CIAC INFORMATION BULLETIN

M-012: Oracle File Overwrite Security Vulnerability

[Oracle Security Alert #20]

October 29, 2001 22:00 GMT

PROBLEM: The oracle binary executable has a vulnerability with the SETUID bit, allowing unauthorized write privileges of trace files in ORACLE_HOME/rdms/log and other directories.
PLATFORM: All Oracle database server releases (8.0.x, 8.1.x, and 9.0.1) on all Unix platforms.
DAMAGE: This vulnerability allows unauthorized, non-privileged users (e.g., "nobody") to overwrite/corrupt existing files and create new files in arbitrary directories of choice.
SOLUTION: Apply the workaround described below (change file permissions on the oracle executables).

VULNERABILITY
ASSESSMENT:
The risk is MEDIUM. This vulnerability can be exploited by a non-privileged user, resulting in an upgrade of privileges.

LINKS:  
  CIAC BULLETIN: http://www.ciac.org/ciac/bulletins/m-012.shtml
  ORIGINAL BULLETIN: http://otn.oracle.com/deploy/security/pdf/oracle_race.pdf

[***** Start Oracle Security Alert #20 *****]

Security Alert #20
Reference Date: 10/18/01

Oracle File Overwrite Security Vulnerability

Overview
There is a potential security vulnerability associated with the Oracle
binary oracle on UNIX platforms. A non-privileged user (such as
"nobody") invokes the oracle executable: as a result of the presence of
the SETUID bit, the executable can be forced to write to a trace file in
ORACLE_HOME/rdbms/log directory and thereby overwrite existing log files
or create new (unauthorized) files. The non-privileged user can also
point the environment variable, ORACLE_HOME, to an arbitrary directory
in the operating system and thereby corrupt other files as well.

Products
All Oracle database server releases (8.0.x, 8.1.x and 9.0.1)

Platforms
All Unix platforms

Workaround
Change the file permissions on the oracle executable as follows:
% chmod o-x oracle

Notes
The workaround suggested above will permit only the owner of the oracle
executable and users defined in the OS DBA group to run the oracle
executable directly. With the execute permissions for "others" removed,
other users cannot connect to an Oracle database server using the BEQ
driver. If the BEQ driver is being used to connect to an Oracle
database, a client program (such as SQLPLUS) will fork its processes and
try to execute the oracle executable directly. This operation will fail
because such a client program will run with the OS user’s privileges who
no longer has execute permission on the oracle executable. To avoid this
problem, local users must connect to an Oracle database using the IPC driver 
which makes it possible to connect to a TNS listener listening on an 
Oracle database.  The TNS listener will need to be started by a user that 
has execute permissions on the oracle executable.

Patches
The potential security vulnerability will be code-fixed in the next
release of the Oracle database server which is Oracle9i, Release 2,
only. All other releases of the Oracle database (8.0.x, 8.1.x and 9.0.1)
must use follow the workarounds specified above to circumvent the
potential security vulnerability.

Credits
Oracle wishes to thank Juan Manuel Pascual Escribà for discovering these
vulnerabilities and promptly bringing them to Oracle's attention.

[***** End Oracle Security Alert #20 *****]


CIAC wishes to acknowledge the contributions of Oracle for the information contained in this bulletin.
CIAC services are available to DOE, DOE Contractors, and the NIH. CIAC can be contacted at:
    Voice:          +1 925-422-8193 (7 x 24)
    FAX:            +1 925-423-8002
    STU-III:        +1 925-423-2604
    E-mail:          ciac@ciac.org
    World Wide Web:  http://www.ciac.org/
    Anonymous FTP:   ftp.ciac.org

This document was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government nor the University of California nor any of their employees, makes any warranty, express or implied, or assumes any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represents that its use would not infringe privately owned rights. Reference herein to any specific commercial products, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation or favoring by the United States Government or the University of California. The views and opinions of authors expressed herein do not necessarily state or reflect those of the United States Government or the University of California, and shall not be used for advertising or product endorsement purposes.
UCRL-MI-119788
[Privacy and Legal Notice]