Vulnerability in Oracle 11gR2 allows system privileges for all

简介: At the recent Black Hat DC 2010 conference, British security expert David Litchfielddemonstrat...

At the recent Black Hat DC 2010 conference , British security expert David Litchfield demonstrated vulnerabilities in Oracle's latest 11gR2 database release. Overgenerous privileges for Java procedures allow users to escalate their own privileges, up to the point of gaining complete control over the database.

This is due to the fact that any user can execute the procedures contained in the DBMS_JVM_EXP_PERMS package, which is aimed at making it easier to update Oracle installations. In particular, users can use the IMPORT_JVM_PERMS procedure to change their privileges in the Java policy table so that the JVM allows them to execute operating system commands and to read and write files.

This vulnerability alone does not allow a user lacking the relevant privileges to carry out these operations – this is prevented by Oracle's own system of privileges and roles. A second bug, however, allows users to adapt these privileges as required. The guilty procedure is DBMS_JAVA.SET_OUTPUT_TO_JAVA . This launches a new Java VM with the privileges of the SYS user and starts by executing any SQL code passed to it with said privileges. Litchfield has demonstrated how, by using appropriate parameters when calling DBMS_JAVA.SET_OUTPUT_TO_JAVA , an unprivileged user is able to escalate to a fully-privileged DBA user. Thanks to the changes previously made to the Java policy table, he is now able to execute operating system commands. Litchfield illustrated this under Windows 7 by creating a new user to which he then assigned administrator privileges.

He also demonstrated that it is possible to circumvent the database's Label Security, for which Oracle has received EAL4 certification under Common Criteria. Label Security is intended to ensure that users are only able to see information intended for them. He demonstrated that vulnerabilities in the Java implementation allow arbitrary dynamic libraries to be loaded into the Oracle process. This gives them access to data which should be strictly locked down by Label Security.

Litchfield reports that he informed Oracle of the vulnerabilities back in November. No patch has yet been forthcoming. As a workaround, he recommends removing the generous execution privileges of PUBLIC from the DBMS_JAVA , DBMS_JAVA_TEST and DBMS_JVM_EXP_PERMS packages.

Although video of Litchfield's talk was available from the Black Hat DC 2010 site, The H found that the video has since been removed.

目录
相关文章
|
Oracle 关系型数据库
Oracle查询优化-union all 与空字符
【1月更文挑战第4天】【1月更文挑战第10篇】两个表中有重复数据时,空值与空字符串在UNION ALL中的使用中的注意点。
219 0
|
Oracle 安全 关系型数据库
实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程(一)
实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程(一)
实战篇:Linux 安装 Oracle 11GR2 数据库保姆级教程(一)
|
Oracle 关系型数据库 Linux
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
RHEL7.9系统下一键脚本安装Oracle 11gR2单机版本
765 1
|
SQL Oracle 关系型数据库
Oracle查询优化-UNION和UNION ALL的使用
【1月更文挑战第4天】【1月更文挑战第11篇】UNION和UNION ALL的使用存在区别
591 0
|
Oracle 关系型数据库
oracle no privileges on tablespace 'USERS
oracle no privileges on tablespace 'USERS
187 0
|
监控 Oracle 关系型数据库
oracle性能监控脚本 Mother Of All Tuning Scripts (MOATS)
这个名字牛吗?Mother Of All Tuning Scripts (MOATS) 下载地址: https://github.com/oracle-developer/moats,下载后
138 0
|
Oracle 关系型数据库
Oracle Union Union All 对查询结果集操作
Oracle Union Union All 对查询结果集操作
209 0
|
SQL Oracle 安全
Oracle 修改SYS、system用户密码
Oracle 修改SYS、system用户密码
2088 0
|
存储 Oracle 关系型数据库
【数据库】解决 oracle: ORA-01653: unable to extend table *.LINEORDER by 1024 in tablespace SYSTEM
【数据库】解决 oracle: ORA-01653: unable to extend table *.LINEORDER by 1024 in tablespace SYSTEM
773 0
【数据库】解决 oracle: ORA-01653: unable to extend table *.LINEORDER by 1024 in tablespace SYSTEM
Zp
|
SQL Oracle 关系型数据库
Oracle sql 批量插入 Insert all into
Oracle sql 批量插入 Insert all into
Zp
820 0