在 2018年8月10日,Oracle 独立的发送了一封"安全警告"邮件给所有的 Oracle 用户,这封邮件的标题是:Oracle Security Alert for CVE-2018-3110。这也是今年 Oracle 第一次独立针对一个 CVE 安全风险发布预警。

正常情况下,Oracle 每个季度发布一次安全补丁更新,今年的下一次发布应该在10月16日。所以针对 CVE-2018-3110 的预警就非常值得大家重视。

CVE 的英文全称是“Common Vulnerabilities & Exposures”公共漏洞和暴露。CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,CVE因此成为了安全信息共享的“关键字”。在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。

预警的邮件内容如下:

影响范围和版本

CVE-2018-3110 影响范围是所有当前在支持的数据库版本,但是一部分版本已经在2018年7月的CPU中修订,所以如果此前应用了 7 月的CPU,则本次主要针对Windows 提出修订,还有主要是针对刚刚发布的 Oracle 18.3 版本的修正。

详细说明如下:

  1. 修正了Windows上版本11.2.0.4和12.2.0.1中的Oracle数据库漏洞。 CVE-2018-3110的CVSS v3基本分数为9.9,可能会导致Oracle数据库和对底层服务器的shell访问完全受损。

  2. CVE-2018-3110还影响Windows上的12.1.0.2以及Linux和Unix上的Oracle数据库,但是这些版本和平台的补丁包含在2018年7月的CPU中。

如果您在Windows上运行Oracle数据库版本11.2.0.4和12.2.0.1,请应用下面指出的修补程序。 如果您在Windows或Linux或Unix上的任何版本的数据库上运行版本12.1.0.2并且尚未应用2018年7月的CPU,请执行此操作。

由于此漏洞的性质,Oracle强烈建议客户立即采取措施。

除了以上声明的版本,其他过期版本同样会受到影响,只是 Oracle 不再单独列出和提供独立的补丁而已

严重程度

本次警告之所以独立发出,重点预警,是因为这个漏洞的危险性非常高,CVSS V3的评分高达 9.9 ,也就几乎是能够『完全控制系统』的安全威胁。

CVSS : Common Vulnerability Scoring System,即“通用漏洞评分系统”,是一个“行业公开标准,其被设计用来评测漏洞的严重程度,并帮助确定所需反应的紧急度和重要度”。  CVSS的目标是为所有软件安全漏洞提供一个严重程度的评级,这个评分系统把能够完全攻破操作系统层的已知安全漏洞评为基准分数10.0分。换句话说,CVSS基准分数为10.0分的安全漏洞一般指能够完全攻破系统的安全漏洞,典型的结果是攻击者完全控制一个系统,包括操作系统层的管理或者“根”权限。

当然这个漏洞是需要前提条件的,CVE-2018-3110 需要一个数据库用户,具备最基本的CREATE SESSION,也就是说能够创建会话,连接到数据库。然后,基于对于公共 JAVA 对象的访问,获得权限提升,直至全部控制数据库

这个漏洞的组件是:Java VM。

在 2018年7月发布的CPU中,包含的 CVE-2018-3004 是和 3110 同源的漏洞,是在上一次实现攻击的基础上,有了进一步的简化攻击,从而其风险分值上升到 9.9 。

补丁列表


在 MOS 的以下文档,可以找到适用于各个版本的补丁:

Critical Patch Update (CPU) Program July 2018 Patch Availability Document (PAD) (文档 ID 2394520.1)。

针对 Oracle 18c ,也就是刚刚发布的 18.3 以及 12.2 的补丁列表如下,大家可以通过MOS找到适用于自己环境的补丁:

风险示例

很多客户可能会关心,如果不升级,到底会有多大的影响?

有些安全漏洞,需要特殊的权限,复杂的攻击注入方式,所以及时存在,重现不容易,威胁也就不大,例如2018年1月发布的安全补丁,其中一个漏洞已经存在了很久,以下连接中重现了 CVE-2017-10282 漏洞,其评分是 9.1 :

安全警报:Oracle 2018一月号安全补丁修复由来已久安全漏洞

而本次警示的 CVE-2018-3110 其评分是 9.9 ,需要的权限更少,更容易重现。

除非您能明确控制 Java VM 组件对象授权,并且能够确保每一个连接数据库的用户的身份和操作控制,否则强烈建议应用补丁,防范风险。

如果你不需要JAVA组件,建议在安装数据库时不要选择,否则就可能面临一系列的麻烦。在 Oracle 11.2.0.1 版本中,就曾经几度发生过注入漏洞。

这些麻烦多数是过度授权,将一些JAVA对象授权给 Public 执行权限,就导致了问题。例如 11.2.0.1 的 CPU 修正 9454036,其补丁脚本 jvm_exp.sql 的最后一段正是对于权限的回收,这个命令回收了 create session 用户也能执行 DBMS_JVM_EXP_PERMS 的问题:

begin

initjvmaux.exec(‘revoke execute on sys.dbms_jvm_exp_perms from PUBLIC’);

exception

when others then

if sqlcode not in (-01927, -06550, -06512) then raise; end if;

end;

/

关于 DBMS_JVM_EXP_PERMS 的执行权限的漏洞是,可以通过类似如下代码给自己授予JAVA的系统执行权限,就可以随时提权成为DBA了:

DECLARE

POL DBMS_JVM_EXP_PERMS.TEMP_JAVA_POLICY;

CURSOR C1 IS SELECT ‘GRANT’,USER(), ‘SYS’,’java.io.FilePermission’,’<<ALL FILES>>‘,’execute’,’ENABLED’ from dual;

BEGIN

OPEN C1;

FETCH C1 BULK COLLECT INTO POL;

CLOSE C1;

DBMS_JVM_EXP_PERMS.IMPORT_JVM_PERMS(POL);

END;

/

此前 CPU 修订的另外一个漏洞则是和 DBMS_JAVA 的执行权限有关,通过这个Package的调用,可以随意执行系统命令,进一步提升权限:

SELECT DBMS_JAVA.RUNJAVA('oracle/aurora/util/Wrapper /bin/sh -c /usr/bin/id>/dev/shm/out') FROM DUAL;

这些方法都是在『DBA的暗世界』里广为流传的,如果您的数据库不能及时应用修正,又缺乏良好的权限控制,那么你的数据就早已经是明朗的天空了。

如果您还运行在低版本的数据库上,建议大家关注安全问题了。

参考文献:

http://www.oracle.com/technetwork/security-advisory/alert-cve-2018-3110-5032149.html

Critical Patch Update (CPU) Program July 2018 Patch Availability Document (PAD) (文档 ID 2394520.1)


活动快报

资源下载

关注公众号:数据和云(OraNews)回复关键字获取

2018DTCC , 数据库大会PPT

2017DTC,2017 DTC 大会 PPT

DBALIFE ,“DBA 的一天”海报

DBA04 ,DBA 手记4 电子书

122ARCH ,Oracle 12.2体系结构图

2017OOW ,Oracle OpenWorld 资料

PRELECTION ,大讲堂讲师课程资料

近期文章

仅仅使用AWR做报告? 性能优化还未入门

实战课堂:一则CPU 100%的故障分析

杨廷琨:如何编写高效SQL(含PPT)

一份高达555页的技术PPT会是什么样子?

大象起舞:用PostgreSQL解海盗分金问题

ProxySQL!像C罗一样的强大

高手过招:用SQL解决环环相扣刑侦推理问题

安全预警:独立发布的Oracle严重 CVE-2018-3110 公告相关推荐

  1. 我的世界中国版服务器停止运行,网易《我的世界》官方发布Hypixel中国版服务器停止运营公告...

    玩懂手机网资讯,网易<我的世界>官方发布Hypixel中国版服务器停止运营公告,网易<我的世界>官方表示,因为和Hypixel团队的合作即将到期,按照合同约定将会在2020年6 ...

  2. 预警信息发布程序设计

    易维护是面向对象程序技术产生的动机和意图,软件维护性.扩展性.复用性是度量面向对象程序设计质量的主要标准.监控系统中,预警信息的发布往往包含多种方式,如通过短信息(SMS).语音电话.无线大喇叭等,还 ...

  3. oracle12cr2发布时间,Oracle 12cR2 发布在即

    2015年10月 Oracle 发布Oracle 12c beta 1,2016年2月发布beta 2,9月发布beta 3, 现在终于等来了 12cR2. https://www.cndba.cn/ ...

  4. 浙江独立学院计算机专业排名2015,2018中国独立学院排行榜发布,浙江这所独立学院独占鳌头!...

    原标题:2018中国独立学院排行榜发布,浙江这所独立学院独占鳌头! 浙大宁波理工学院.浙大城市学院.北师大珠海分校获前三名 由中国管理科学研究院<中国大学评价>课题组完成的<2018 ...

  5. iNeuOS工业互联平台,设备容器(物联网)改版,并且实现设备数据点的实时计算和预警。发布3.2版本

    目       录 1.      概述... 2 2.      平台演示... 2 3.      设备容器新版本介绍... 2 4.      全局数据计算及预警平台... 3 5.      ...

  6. oracle12cr2发布时间,Oracle 12cR2初体验(r11笔记第91天)

    对于很多Oracle DBA来说,12c最期待人心的就是12c Release 2的发布了,而Linux64位版本的发布则是一个重头戏.详情可以关注公众号dbaplus来了解一下,今晚零点即将发布,可 ...

  7. 简单使用CXF实现webserver(rs的独立发布)

    简单使用cxf_rs的方式实现webserver 1创建maven project java项目 2,在maven文件中导入相关依赖 <dependencies> <!--使用 CX ...

  8. oracle表独立数据文件,oracle表空间及数据文件

    1. Oracle 的逻辑结构 数据库的物理结构是由数据库的操作系统文件所决定,每一个 Oracle 数据库是由三种类型的文件组成:数据文件.日志文件和控制文件.数据库的文件为数据库信息提供真正的物理 ...

  9. .net core独立发布文件过多的问题

    参考:1.https://blog.csdn.net/sD7O95O/article/details/78951170 2.https://cloud.tencent.com/developer/ar ...

最新文章

  1. spring mvc绑定对象String转Date解决入参不能是Date的问题
  2. C语言高级编程:const限定函数形参
  3. Python实现定时任务,定时采集数据,定时执行脚本程序都可以
  4. Maven异常总结001---Maven project导入到myeclipse时候出现异常:could not get mojo execution paramater value
  5. 几行代码起家到实时音视频一线,6 岁声网计划赴美上市!
  6. 像素测量工具_结构光视觉传感器的标定方式和测量原理
  7. 视易服务器查看硬盘状态,Linux服务器使用Smartmontools检测硬盘状况 | 厘米天空
  8. 图像特征提取之LBP算法
  9. android 输入模糊匹配_Android 模糊搜索
  10. 600,000,002,200,300,400等开头的股票都是什么意思
  11. 注册ArcGIS Online账号||免费使用21天(保姆级)
  12. RoboMaster机甲大师——视觉组——摄像头的选型与应用
  13. 网络和信息系统的安全--利用渗透测试查找系统的安全隐患
  14. 戮力同心,精诚协作 Stibo Systems(思迪博)和点春科技正式签署战略合作伙伴协议
  15. 肠道微生物群:心力衰竭的新治疗靶点
  16. tomcat安装,环境变量配置,以及在eclipse上配置tomcat
  17. Java + Dlib实现人脸识别
  18. php有没有网课,为什么有些网页的链接点开要下载个PHP文件?
  19. 【Unity3D】Unity 组件 ③ ( 为物体添加 AudioSource 组件 | 添加 AudioSource 组件 | 导入音频文件 | 为组件设置音频 | Transform 变换组件 )
  20. IPAD下使用相册横屏异常的解决

热门文章

  1. raspberry pi_如何为Raspberry Pi编写SD卡
  2. 打开Morrowind版本,Vector 36在Linux上的本机版本以及Hyper Light Drifter
  3. Could not initialize class com.jacob.activeX.ActiveXComponent
  4. 基于React+Koa实现一个h5页面可视化编辑器-Dooring
  5. Bootstrap 按钮菜单的尺寸
  6. centos5安装oracle11,CentOS 6.5 x64 安装 Oracle11g R2
  7. 爬虫是根据什么判断html,什么是爬虫技术
  8. 使用Java实现发送email邮件
  9. BZOJ1901: Zju2112 Dynamic Rankings
  10. Python2.x 和 3.x 的区别