漏洞描述

概述

CVE-2022-26134 -  Confluence Server 和 Data Center 中未经身份验证的远程代码执行漏洞

漏洞级别 Critical 严重

漏洞发布时间

 

影响的产品

  • Confluence

    • Confluence Server

    • Confluence Data Center

影响的版本

  • >= Confluence Server and Data Center  1.3.0 
  • <= 以下修复版本的所有版本

修复版本

  • 7.4.17

  • 7.13.7

  • 7.14.3

  • 7.15.2

  • 7.16.4

  • 7.17.4

  • 7.18.1

CVE ID(s)

CVE-2022-26134


OGNL 注入漏洞允许未经身份验证的用户在 Confluence 服务器或数据中心实例上执行任意代码

漏洞验证

可以这样验证漏洞是否对confluence有影响

将下面curl 命令中的 http://127.0.0.1:8090 换成confluence的访问地址

Curl -v http://127.0.0.1:8090/%24%7B%40java.lang.Runtime%40getRuntime%28%29.exec%28%22touch%20/tmp/pwned%22%29%7D/
BASH

上面的请求远程执行了

${@java.lang.Runtime@getRuntime().exec(“touch /tmp/pwned”)}
CODE

即在confluence 服务器上的 /tmp 目录下创建了一个 pwned的文件


无论是否成功创建文件,curl 命令返回结果都无法显示,需要登录到confluence服务器 ,进入/tmp 目录,查看是否创建了 pwned 的文件

如果创建了这个文件说明漏洞还没有修复,需要立即修复

修复步骤如下, 修复完之后再运行上面的curl命令,确定没有文件被创建


漏洞修复办法

升级Confluence修复

升级Confluence 到最新的版本或LTS最新版本,大于等于修复版本(7.4.17、7.13.7、7.14.3、7.15.2、7.16.4、7.17.4 和 7.18.1) 就可以修复漏洞


不升级修复

如果不方便升级可以使用以下修复方式,目前的修复方式只在Confluence 7.x 的版本上测试过

 Confluence 7.15.0 - 7.18.0

  1. 将以下 1 个文件下载到 Confluence 服务器:

  2. 删除(或以下JAR移出Confluence 安装目录):

    1. <confluence安装目录>/confluence/WEB-INF/lib/xwork-1.0.3-atlassian-8.jar     
    2. (warning) 不要在目录中留下这个旧 JAR 的副本, 如果需要备份,请备份在Confluence之外的目录

  3. 将下载的xwork-1.0.3-atlassian-10.jar复制<confluence安装目录>/confluence/WEB-INF/lib/ 

  4. 检查新xwork-1.0.3-atlassian-10.jar文件的权限和所有权是否与同一目录中的现有文件匹配。

  5. 重启confluence


Confluence 7.0.0 - Confluence 7.14.2

如果你在集群中运行 Confluence,你需要在每个节点上重复这个过程


  1. 将以下 3 个文件下载到 Confluence 服务器:


  2. 删除(或以下 JAR 移到 Confluence 安装目录之外):

    1. <confluence安装目录>/confluence/WEB-INF/lib/xwork-1.0.3.6.jar

    2. <confluence安装目录>/confluence/WEB-INF/lib/webwork-2.1.5-atlassian-3.jar

    3. (warning)不要在目录中留下旧 JAR 的副本。
       

  3. 将下载的xwork-1.0.3-atlassian-10.jar复制<confluence安装目录>/confluence/WEB-INF/lib/
     
  4. 将下载的webwork-2.1.5-atlassian-4.jar复制<confluence安装目录>/confluence/WEB-INF/lib/
     

  5. 检查两个新文件的权限和所有权是否与同一目录中的现有文件匹配。
     

  6. 切换到目录<confluence安装目录>/confluence/WEB-INF/classes/com/atlassian/confluence/setup

    1. 创建一个名为的新目录webwork

    2. CachedConfigurationProvider.class复制到<confluence安装目录>/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork

    3. 确保权限和所有权正确:

      1. <confluence安装目录>/confluence/WEB-INF/lib/xwork-1.0.3.6.jar
      2. <confluence安装目录>/confluence/WEB-INF/lib/webwork-2.1.5-atlassian-3.jar
      3. <confluence安装目录>/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork/CachedConfigurationProvider.class
  7. 重启Conflucne