Oracle DBMS – Proxy Authentication Vulnerability
Oracle is a widely-deployed Database Management System (DBMS) that supports a variety of applications. Many multi-tier applications are designed to use proxy authentication, restricting a middle tier to establish the database connection on behalf of the users. The standard authentication mechanism requires the client, the middle tier in this case, to provide valid credentials in order to authenticate and connect to the DBMS. User sessions are then created through the proxy connection. Oracle TNS protocol messages are used for session setup, authentication and data transfer.
Imperva’s Application Defense Center (ADC) conducts extensive research on enterprise applications and databases. During its research, the team has identified a vulnerability in Oracle’s proxy authentication and access control mechanism.
While proxy authentication is enabled for a user account through a proxy account, it is possible to create a separate connection using the original user account without authenticating the connection.
Oracle supports a proxy authentication mode which a user establishes a session through a proxy and the proxy establishes a session on the user’s behalf to the database. These sessions are created using the Oracle TNS protocol level messages and do not require additional authentication. This scenario is recommended by Oracle for multi-tier environments.
While the user sessions are open through the proxy connection, an attacker can create a new connection to the database impersonating the original user without supplying a password. The attacker executes the attack by opening a TNS connection to the database server and sending a manipulated authentication message with the login mode flags set to proxy login and the session ID and serial number of the original session opened through the proxy account.
- Oracle 8i (8.1.7.x.x)
- Oracle 9i (126.96.36.199)
- Oracle 10g Release 1 (10.1.0.4.2)
- Oracle 10g Release 2 (10.2.0.1.0)
The information within this advisory is subject to change without notice. Use of this information constitutes acceptance for use in an AS IS condition. Any use of this information is at the user’s own risk. There are no warranties, implied or expressed, with regard to this information. In no event shall the author be liable for any direct or indirect damages whatsoever arising out of or in connection with the use or spread of this information.
Redistribution of this alert electronically is allowed as long as it is not edited in any way. To reprint this alert, in whole or in part, in any medium other than electronic medium, email@example.com for permission.