CVE-2023-22527 Confluence 未授权 SSTI RCE 漏洞分析
2024-2-22 16:22:8 Author: www.freebuf.com(查看原文) 阅读量:42 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如果是 Confluence 8.5.3 版本,需要注意一下 jdk 版本需要为 11

0x01 漏洞描述

Atlassian Confluence 是由 Atlassian 开发的企业级协作软件。
2024年1月16日,Atlassian 官方披露 CVE-2023-22527 Atlassian Confluence 模板注入代码执行漏洞。攻击者可在无需登录的情况下构造恶意请求导致远程代码执行。Atlassian 官方评级严重,外界尚未流传相关利用。

0x02 影响版本

  • 影响范围

Atlassian Confluence Data Center and Server 8.0.x
Atlassian Confluence Data Center and Server 8.1.x
Atlassian Confluence Data Center and Server 8.2.x
Atlassian Confluence Data Center and Server 8.3.x
Atlassian Confluence Data Center and Server 8.4.x
Atlassian Confluence Data Center and Server 8.5.0-8.5.3

  • 安全版本

Atlassian Confluence Data Center and Server 8.5.4
Atlassian Confluence Data Center 8.6.0
Atlassian Confluence Data Center 8.7.1

0x03 漏洞分析

diff 分析

加黑了,此处加黑的是 OGNL 节点

image

下面的是黑名单类,黑名单里面的内容很多,其中有一项为 com.opensymphony.xwork2.ActionContext,这个类相比起于其他的类看着更奇怪一些

image

继续看黑名单,甚至给 package 都加了黑

image

加上之前在 CVE-2023-22522 里面 diff 的经验,是有一个 OGNL Guard 的类的,那么实际上这一个攻击大概率就是通过调 OGNL,通过 AST 的一系列手法最终 RCE,紧接着问题来了,入口呢?

漏洞复现

OGNL 表达式

最简单的入口就是 .vm的文件,但是有一个前提是使用了 $stack.findValue或是 $ognl.findValue,且参数可控。

找了一下有一个文件完美符合我们的需求 confluence/template/aui/text-inline.vm

image

处理 .vm接口的 Servlet 为 ConfluenceVelocityServlet,跟一下对应请求的处理。先用对应通杀请求

label=test\u0027%2b#{7*7}%2b\u0027

image

跟进,往下走跟进 this.handleRequest()方法生成模板,通过层层递归,最终从 URI 中拿取对应文件,并匹配

image

继续往下,最终会来到 org.apache.velocity.runtime.parser.node.SimpleNode#render方法,这里会根据 OGNL 的节点类型渲染,会循环整个数组


文章来源: https://www.freebuf.com/articles/web/392320.html
如有侵权请联系:admin#unsafe.sh