漏洞复现-Atlassian Confluence Data Center 与 Server 存在权限绕过漏洞 (CVE-2023-22518)

1.漏洞描述

Atlassian Confluence Server是澳大利亚Atlassian公司的一套具有企业知识管理功能,并支持用于构建企业WiKi的协同软件的服务器版本。

Atlassian Confluence Data Center 和 Confluence Server存在安全漏洞,该漏洞源于授权管理不当。

2.影响版本

  • Atlassian confluence < 7.19.16
  • Atlassian confluence < 8.3.4
  • Atlassian confluence < 8.4.4
  • Atlassian confluence < 8.5.3
  • Atlassian confluence < 8.6.1

3.影响范围

4.漏洞分析

confluence用两个interceptor(WebSudoInterceptor、PermissionCheckInterceptor)来完成接口的认证鉴权

PermissionCheckInterceptor用来判断用户是否登录并且是否有权限访问目标页面

可以通过调用ConfluenceActionSupport的setSkipAccessCheck()方法来绕过这一校验,具体方法为请求时额外添加skipAccessCheck=true参数。

例如ViewTrustedApplicationAction接口,该接口没有重写isPermitted方法,鉴权时调用ConfluenceActionSupport.isPermitted()。我们可以通过请求/json/trustedapp-view.action?skipAccessCheck=true来绕过。

WebSudoInterceptor存在缺陷,导致绕过二次鉴权

WebSudoInterceptor首先获取请求的url,如果接口url以/admin/开头,则接口默认需要管理员二次登录,仅在接口方法有WebSudoNotRequired注解时无需管理员二次登录。

如果不以/admin/开头则默认不需要管理员二次登录,仅在接口方法有WebSudoRequired注解时需管理员二次登录。

com.atlassian.confluence_confluence-8.5.2.jar!\struts.xml里用了package extends语法

令 /admin 路由集合 继承 /setup 路由集合

通过/json路由前缀可以直接访问到/setup和/admin namespace里定义的接口,而WebSudoInterceptor又默认认为/json路由下的接口不需要管理员二次登录,仅在接口方法有WebSudoRequired注解时需管理员二次登录。

另外又重写默认的interceptor stack为validatingStack而不是validatingSetupStack,绕过了com.atlassian.confluence.setup.actions.SetupCheckInterceptor的安装校验

5. 修复建议

官方已修复该漏洞,建议用户按照官方修复步骤。更新到安全版本。

参考连接:https://confluence.atlassian.com/security/cve-2023-22518-improper-authorization-vulnerability-in-confluence-data-center-and-server-1311473907.html

下载链接:

https://www.atlassian.com/software/confluence

相关推荐
EasyNVR4 小时前
NVR管理平台EasyNVR多个NVR同时管理:全方位安防监控视频融合云平台方案
安全·音视频·监控·视频监控
黑客Ash6 小时前
【D01】网络安全概论
网络·安全·web安全·php
阿龟在奔跑8 小时前
引用类型的局部变量线程安全问题分析——以多线程对方法局部变量List类型对象实例的add、remove操作为例
java·jvm·安全·list
.Ayang8 小时前
SSRF漏洞利用
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
.Ayang8 小时前
SSRF 漏洞全解析(概述、攻击流程、危害、挖掘与相关函数)
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析·安全架构
好想打kuo碎8 小时前
1、HCIP之RSTP协议与STP相关安全配置
网络·安全
周全全9 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Mr.Pascal9 小时前
刚学php序列化/反序列化遇到的坑(攻防世界:Web_php_unserialize)
开发语言·安全·web安全·php
风间琉璃""10 小时前
二进制与网络安全的关系
安全·机器学习·网络安全·逆向·二进制