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 中法元首相会都江堰 7904363
- 2 中方不接受日方所谓交涉 已当场驳回 7809073
- 3 大闸蟹为何会在欧美泛滥成灾 7713648
- 4 国际机构看中国经济 关键词亮了 7615969
- 5 家长称婴儿被褥印不雅英文单词 7521547
- 6 日方军机滋扰擅闯或被视为训练靶标 7428864
- 7 罪犯被判死缓破口大骂被害人一家 7329324
- 8 国乒8比1击败日本队 11战全胜夺冠 7236695
- 9 长沙一男子要取现20万 银行紧急报警 7139577
- 10 千吨级“巨无霸”就位 7046137







Chamd5安全团队
