CVE-2023-22527 Confluence 未授权 SSTI RCE 漏洞分析
内容提要
Atlassian Confluence存在模板注入代码执行漏洞(CVE-2023-22527),允许远程代码执行。受影响的版本为8.0.x至8.5.3。漏洞可以通过使用$stack.findValue或$ognl.findValue和可控参数的.vm文件进行利用。ConfluenceVelocityServlet处理.vm接口。文章提供了对漏洞及其影响的详细分析。
延伸解读
漏洞影响范围与修复版本
该漏洞影响 Confluence Data Center 和 Server 的 8.0.x 至 8.5.3 版本。官方已发布安全版本 8.5.4、8.6.0 和 8.7.1,使用受影响版本的用户应尽快升级。需要注意的是,文章提到若使用 8.5.3 版本,JDK 版本需为 110x01,这可能与漏洞复现环境有关。
漏洞利用的技术条件
攻击者需构造恶意请求,利用 .vm 文件中的 $stack.findValue 或 $ognl.findValue 方法,且参数可控。处理 .vm 接口的 Servlet 为 ConfluenceVelocityServlet,漏洞入口是 .vm 文件。通过 OGNL 表达式和 AST 技术,攻击者最终可实现远程代码执行。
漏洞分析与修复思路
文章通过 diff 分析发现,黑名单中新增了 com.opensymphony.xwork2.ActionContext 类,甚至对 package 也进行了加黑。结合 CVE-2023-22522 的经验,推测攻击通过 OGNL Guard 类,利用 AST 手法最终导致 RCE。这为理解漏洞成因和修复提供了线索。
Q&A
CVE-2023-22527 是什么漏洞?
CVE-2023-22527 是 Atlassian Confluence 的模板注入代码执行漏洞,允许攻击者在无需登录的情况下构造恶意请求导致远程代码执行。
哪些 Confluence 版本受 CVE-2023-22527 影响?
受影响版本包括 Confluence Data Center 和 Server 8.0.x 至 8.5.3。安全版本为 8.5.4、8.6.0 和 8.7.1。
攻击者如何利用 CVE-2023-22527 漏洞?
攻击者可以利用 .vm 文件,通过 $stack.findValue 或 $ognl.findValue 并控制参数,结合 OGNL 表达式和 AST 技术实现远程代码执行。
CVE-2023-22527 的漏洞入口点是什么?
漏洞入口点是 .vm 文件,特别是 confluence/template/aui/text-inline.vm,处理 .vm 接口的 Servlet 为 ConfluenceVelocityServlet。
CVE-2023-22527 的严重程度如何?
Atlassian 官方对该漏洞评级为严重,且外界尚未流传相关利用。
如何复现 CVE-2023-22527 漏洞?
复现时需使用 .vm 文件,并确保使用了 $stack.findValue 或 $ognl.findValue 且参数可控。例如,发送包含 label=test\u0027%2b#{7*7}%2b\u0027 的请求。