Oracle-11.2.0.3-CVE-2012-1675远程投毒漏洞修复

环境:Centos 6.9 + Oracle 11.2.0.3/11.2.0.4 单实例

本次需求:修复CVE-2012-1675 远程投毒漏洞

应用的补丁为:

  • p6880880_112000_Linux-x86-64
  • p12880299_112030_Linux-x86-64

Oracle 11.2.0.3 单实例

应用补丁修复之前

1
$ORACLE_HOME/OPatch/opatch version

image-20201020110921002

msf poc检测

image-20201020110937517

将PSU补丁复制到服务器然后解压得一个Opatch目录。

原先Opatch的备份,解压出来的OPatch复制到$ORACLE_HOME

1
2
3
4
5
6
7
8
mv $ORACLE_HOME/OPatch ./OPatch_bak
mv OPatch $ORACLE_HOME/

cd $ORACLE_HOME

chmod 777 -R OPatch ## 这里要给复制过去的OPatch下的可执行程序赋予可执行权限,建议不要全777(这里是我测试环境为了方便给的。

./opatch version ##重新验证

image-20201020111802721

但是此时还是没有应用补丁。

下载并解压12880299应用补丁,应用前需要关闭服务。中间会要求输入Oracle账号,回车回车N。就好了。

1
lsnrctl stop # 关闭服务
1
2
3
/u01/ora11g/db_1/OPatch/opatch apply -oh $ORACLE_HOME -local /home/oracle/12880299/

$ORACLE_HOME/OPatch/opatch lsinventory ## 检测是否成功打上了

image-20201020112558357

编辑listener.ora文件

1
find / -name "listener.ora" 2>/dev/null #搜索文件,编辑没有/simple/那个

添加以下内容到文件到文件末尾。

1
SECURE_REGISTER_LISTENER = (IPC,TCP,TCPS)
1
lsnrctl start #开启监听。

如果重新启动或关闭的时候出现以下错误信息,那多半是你环境变量问题。。。

1
2
3
4
Message 1070 not found; No message file for product=network, facility=TNSTNSLSNR for Linux: Version 11.2.0.3.0 - Production
Message 279 not found; No message file for product=network, facility=NL
Message 1073 not found; No message file for product=network, facility=TNS
Message 1053 not found; No message file for product=network, 啥的啥的啥的。。。。。。。。。。。。。。。。。。。。。

给个环境变量就好。

1
export ORACLE_HOME=/u01/ora11g/db_1/

重新漏洞检测

image-20201020112826883

Oracle 11.2.0.4 单实例

11.2.0.4不需要打补丁,只需要在listener.ora下添加一行即可。

1
VALID_NODE_CHECKING_REGISTRATION_LISTENER=1

image-20201110192031065

参考文章