At
last week’s BlackHat D.C., David Litchfield revealed 0-day
vulnerabilities in Aurora, the Java implementation built into Oracle.
- DBMS_JAVA
- DBMS_JAVA_TEST
- DBMS_JVM_EXP_PERMS
allow
an attacker to escalate their privileges to sysdba and take complete control of
the database. It was successfully demonstrated how a low privileged user can
grant themselves sysdba privileges, access on every file on the Oracle host
server and execute those files, including a shell. It was also shown how to
load binary code into the Oracle process and execute it. Finally a way to
bypass Oracle Label Security was demonstrated.
There
is currently no fix available from Oracle, however Oracle’s access control
features allow for a workaround. By default EXECUTE is granted to PUBLIC for
the above mentioned packages.
In
order to protect against these current threats, database administrators should
revoke execution privileges on these packages from PUBLIC and any other user
that does not require them. The AppDetective and DbProtect ‘Object privilege
granted to PUBLIC’ Oracle Vulnerability Assessment checks can be used to
help find and remediate these privileges.
Application
Security has also made available for download a custom policy and check to
specifically find these privileges and learn if your Oracle databases are
vulnerable. With Application Security, Inc.’s User Rights Review (URR) platform,
customers will also be able to determine which users can exploit the
vulnerability as well as an explanation of how to fix the vulnerability.
Team SHATTER also suggests adhering to the following general security considerations to minimize the risk of new attacks like this:
- Always stay up-to-date on the latest security patches
- Minimize the attack surface by only installing and enabling functionality that is required for the business task
- Remove all unused default components, accounts and databases
- Assign only minimal privileges required
- Assign privileges through roles, not directly to users
Related links:
SHATTER Security Bulletin
