confluence-CVE-2022-26134漏洞分析
漏洞背景
官方链接:https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html
Summary | CVE-2022-26134 - Critical severity unauthenticated remote code execution vulnerability in Confluence Server and Data Center |
---|---|
Advisory Release Date | 02 Jun 2022 1 PM PDT (Pacific Time, -7 hours) |
Affected Products | ConfluenceConfluence ServerConfluence Data Center |
Affected Versions | All supported versions of Confluence Server and Data Center are affected.Confluence Server and Data Center versions after 1.3.0 are affected. |
Fixed Versions | 7.4.17 7.13.7 7.14.3 7.15.2 7.16.4 7.17.4 7.18.1 |
所有版本的 Confluence 和 DataCenter 都会受影响
临时修复方式:
7.15.0-7.18.0: 替换 xwork-1.0.3-atlassian-10.jar
文件6.0.0-7.14.2: 替换以下文件 xwork-1.0.3-atlassian-10.jar webwork-2.1.5-atlassian-4.jar CachedConfigurationProvider.class
代码分析
diff 补丁
对xwork-1.0.3-atlassian-10.jar
和低版本进行反编译 diff
区别在于将
finalNamespace = TextParseUtil.translateVariables(this.namespace, stack = ActionContext.getContext().getValueStack())
finalActionName = TextParseUtil.translateVariables(this.actionName, stack))
修改为
finalNamespace = this.namespace,
finalActionName = this.actionName
少了TextParseUtil.translateVariables()
的流程
该函数处理调用了
Object o = OgnlValueStack.findValue(g);
...
Ognl.getValue(OgnlUtil.compile(expr), this.context, this.root);
较为明显的ognl
表达式注入,那我们来看一下具体的触发流程。
WebWork 框架分析
Confluence
使用 WebWork
框架,框架调用流转图, 整个 HTTP 请求逻辑是随着这个框架处理流程来的。
客户发起 HTTP 流程访问 按照 servlet 规范,先由 filter 进行处理,然后由 WebWork 核心控制器 ServletDispatcher
进行处理WebWork 根据 xwork.xml
配置文件 来处理请求:在配置文件中定义路由对应的拦截器,业务逻辑,业务逻辑响应等部分先依次调用拦截器(before),然后再由业务逻辑处理 根据业务逻辑返回的响应类型对响应进行渲染 依次调用拦截器(after),然后将响应输出
confluence 在web.xml
中引入WebWork
框架配置
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>com.atlassian.confluence.servlet.ConfluenceServletDispatcher</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
ConfluenceServletDispatcher
基类com.opensymphony.webwork.dispatcher.ServletDispatcher
框架配置说明文件:xwork.xml
文件,在 jar 包confluence-版本号.jar
中
对配置文件进行说明
一个Demo 关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 澳门是伟大祖国的一方宝地 7952845
- 2 36岁女子看高血压查出怀孕34周 7904729
- 3 日本火山喷发灰柱高达3400米 7892727
- 4 “冷资源”里的“热经济” 7774193
- 5 刘诗诗方辟谣离婚 7699147
- 6 女子8年生6个女儿第7胎再产女 7576929
- 7 #胡锡进的2024年终总结# 7420393
- 8 肖战新片射雕英雄传郭靖造型曝光 7358821
- 9 女法官遇害案凶手被判死刑 7255131
- 10 蒋欣生图更是妈妈级别 7116198