WebLogic 10.3.6.0更新2020年三季度补丁集

WebLogic 10.3.6.0更新2020三季度补丁集

1. 漏洞说明

Oracle官方于2020714日发布了针对Oracle WebLogic中间件安全漏洞的第季度累积修复补丁集。

 

受影响的主流WebLogic中间件版本如上图列表supported version Affected 所示,职责范围内涉及的weblogic具体版本号如下:

  • Oracle WebLogic 10.3.6.0.0
  • Oracle WebLogic 12.2.1.3.0

2. 补丁软件准备

 MOS登录查看相关Patches信息:

Product

Patch

Advisory Number

Oracle
WebLogic
Server 10.3.6

Oracle Java SE Upgrade to JDK 7 Update 261

Note 2682801.1, Oracle Critical Patch Update CPU) July 2020 for Oracle Java SE

 

Download locations and installation instructions in above document

WLS PATCH SET UPDATE 10.3.6.0.200714 Patch 31178492 + ADR FOR WEBLOGIC SERVER 10.3.6 JULY CPU 2020 Patch 31241365

CVE-2020-2967, CVE-2020-14588, CVE-2020-14589, CVE-2020-14622, CVE-2020-2966, CVE-2017-5645, CVE-2020-14572, CVE-2020-14652, CVE-2018-11058, CVE-2020-14645

可以看出本次weblogic10.3.67月份补丁包包括一个累积的补丁包Patch 31178492Patch 31241365。

此外,根据官方发布的最新漏洞修复补丁说明,WebLogic中间件除需要更新最新的安全漏洞修复补丁集之外,还需要升级JDK的版本。升级的版本说明如下:

l Oracle WebLogic 12.2.1.3.012.2.1.4.014.1.1.0.0JDK版本需要升级到1.8.0_251

l Oracle WebLogic 10.3.6.0JDK版本需要升级1.7.0_261.

备注

1)升级JDK的时候,切勿跨大版本1.7升级1.81.6升级1.7)升级,否则可能导致部分业务给你不可用。

2)建议平行升级,即1.7.0_xxx升级1.7.0_2611.8.0_xxx升级到1.8.0_251。

3. 备份

tar  -zcvf    weblogic.tar.gz2020716  /weblogic/web11g36

全量备份weblogic和程序包,一定要具备可回退可逆操作;

并停止待修复系统的Weblogic服务。

4. 修改bsu内存设置

设置bsu.sh脚本JVM内存为4G

[weblogic@localhost bsu]$ vi bsu.sh

#!/bin/sh

JAVA_HOME="/home/jdk1.7.0_80"

MEM_ARGS="-Xms4096m -Xmx4096m"

"$JAVA_HOME/bin/java" ${MEM_ARGS} -jar patch-client.jar $*

5. 上传补丁包

查看bsu目录下是否存在cache_dir目录;如果不存在,则新建(mkdir cache_dir)该目录;然后上传补丁包至该cache_dir目录:

p31178492_1036_Generic.zip

p31241365_1036_Linux-x86-64.zip

6. weblogic打补丁

说明:因为weblogic10.3.6是全量补丁包,需要卸载之前安装的上一个补丁包,才能安装新补丁,否则会提示补丁冲突。

6.1卸载冲突补丁

cd  /weblogic/web11g36/utils/bsu

[root@pxc1 bsu]# ./bsu.sh   -prod_dir=/weblogic/web11g36/wlserver_10.3   -patchlist=Q3ZB    -verbose -remove  

6.2补丁升级

[root@pxc1 cache_dir]# unzip  p31241365_1036_Linux-x86-64.zip

root@pxc1bsu]#./bsu.sh  -install -prod_dir=/weblogic/web11g36/wlserver_10.3  -patchlist=I37G   

[root@pxc1 cache_dir]# unzip  p31178492_1036_Generic.zip

[root@pxc1 bsu]# ./bsu.sh  -install -prod_dir=/weblogic/web11g36/wlserver_10.3  -patchlist=CW7X

补丁升级完成后,重启weblogic服务。

6.3补丁升级验证

补丁升级后通过以下几种方法验证补丁是否按照成功:

a)控制台验证版本信息

 

如图所示:Weblogic10.3.6 20207PSU PATCH补丁已经安装。

b)通过weblogic server启动过程中查看版本信息:10.3.6.0.200714 PSU Patch for BUG31178492

 

C) 通过weblogic 补丁配置文件查看版本信息

 

d)补丁查询命令验证

 

7. 测试验证

7.1补丁升级后,服务启动情况

 

测试结果:weblogic10.3.6执行本次远程代码漏洞修复后,服务启动正常。

7.2补丁升级后,应用程序健康状态

 

本次测试应用程序包TestWas.war健康状况 OK

7.3补丁升级后,应用程序能否正常访问

 

测试结果:weblogic10.3.6执行本次远程代码漏洞修复后,应用程序包健康状态 OK,应用访问正常。

8. 报错处理

补丁升级过程中常见错误基本有两类:

1) 内存溢出报错

排查解决思路,检测是否有weblogic进程服务还在运行,这样在执行bsu.sh 补丁升级过程中很容易内存溢出。

如果weblogic进程服务已经停止,还是内存溢出,就需要分析当前top 内存资源使用率高的进程是否是bsu.sh 补丁升级的进程,并适当的扩大bsu.sh脚本里的内存使用限制。

2) 检测补丁冲突,且冲突补丁包卸载不了

补丁冲突卸载不了的情况,

可将patch-registry.xml里的<id></id> 行置空解决补丁冲突,冲突补丁又卸载不了问题。

9. 回退方案

如果业务系统执行本次远程代码漏洞修复升级后,存在服务启动异常报错、无法启动、业务不可用等情况,且与确定本次远程代码漏洞修复有关,可将进程停掉.

然后将最新的weblogic安装目录重命名,然后将之前备份的tar包解压,即可快速恢复。

#mv  web11g36    web11g36_20200716bak

#tar  -xvf          weblogic.tar.gz2020716

或者执行补丁卸载,步骤如下所示:

Uninstalling Oracle WebLogic Server Patch Set Update 10.3.6.0.200114 

 1Stop all WebLogic Servers  

 2Navigate to the {MW_HOME}/utils/bsu directory.

 3Execute bsu.sh -remove -patchlist={PATCH_ID} -prod_dir={MW_HOME}/{WL_HOME}

 sh  bsu.sh -prod_dir=/weblogic/bea/wlserver_10.3  -verbose -remove   -patchlist=JWEB

 4 Restart all WebLogic Servers.

原文地址:https://www.cnblogs.com/vzhangxk/p/13331423.html