漏洞复现-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

相关推荐
龙亘川6 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
kybs19916 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
LorryJovens6 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
其实防守也摸鱼6 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
山东科恩光电6 天前
提升安全性的关键技术:安全触边在工业自动化中的应用解析
安全
LONGZETECH6 天前
一线职教实测:风光 580 汽车故障诊断仿真系统,破解实车实训四大核心痛点
人工智能·学习·安全·架构·汽车
Mikko76 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json
赛博守夜人6 天前
反舞弊系列之十四:商业地产与零售招商中的“转租差价与免租期寻租”
安全
xiaoqiMikko6 天前
你升的是 jackson-databind,中招的是 jackson-core:一个超长 JSON key 就能吃掉 200MB 堆
java·安全