CVE-2022-26135Jira Mobile Plugin SSRF-dece-漏洞文库小世界-安全文库-NGC660安全实验室

CVE-2022-26135Jira Mobile Plugin SSRF-dece

CVE-2022-26135 Atlassian Jira Mobile Plugin SSRF漏洞分析

漏洞描述

6月29日,Atlassian官方发布安全公告,在Atlassian Jira 多款产品中存在服务端请求伪造漏洞(SSRF),经过身份验证的远程攻击者可通过向Jira Core REST API发送特制请求,从而伪造服务端发起请求,从而导致敏感信息泄露,同时为下一步攻击利用提供条件。需注意的是,若服务端开启注册功能,则未授权用户可通过注册获取权限进而利用。

利用范围

Jira Core Server, Jira Software Server, and Jira Software Data Center:
Versions after 8.0 and before 8.13.22
8.14.x
8.15.x
8.16.x
8.17.x
8.18.x
8.19.x
8.20.x before 8.20.10
8.21.x
8.22.x before 8.22.4

Jira Service Management Server and Data Center:
Versions after 4.0 and before 4.13.22
4.14.x
4.15.x
4.16.x
4.17.x
4.18.x
4.19.x
4.20.x before 4.20.10
4.21.x
4.22.x before 4.22.4

漏洞分析

环境搭建

使用docker搭建,在docker仓库(https://hub.docker.com/r/weareogury/atlassian-jira-software/tags) 中可找到漏洞版本的Jira Software Server镜像。
m_b009f6f9976f19dc6ddd54f88d087cb1_r

m_6f61778d79284052359d8a4d70f3fedd_r

m_3f8d5ee0a7a869116c9ccddcc3d1e006_r

m_4e749fd6939dddd0c9c3e2be79a3cca3_r

代码分析

分析Jira Mobile 插件,在com.atlassian.jira.plugin.mobile.rest.v1_0.BatchResource中存在barch API接口,阅读代码,该API应该是用于接收多个请求并在服务端执行。
m_e14e481cf8f495669579a75cec2ce7ae_r

分析下方的executeBatch函数。
m_bbcac9c198eabb87c43c849b6f0a15f4_r

在如图所示代码,实际负责发送HTTP请求。其中batchService接口的实现类BatchServiceImpl位于com.atlassian.jira.plugin.mobile.service.impl.BatchServiceImpl.class

分析batch函数。
m_dbe61d49539d9e8342329dd859b56d9e_r

根据如上代码,定位execute函数。
m_561ea76d415222ed80ea7a78ecedb50b_r

其中relativeLocation来自于requestBean.getLocation中的location。
m_5bae80a5e957eadccb07ba21c897f062_r

后续传入toJiraLocation函数
m_0eef360e348e7b741b8fdc1a6be6753d_r

m_5044f5b698ebcbe2dc962e3553719e22_r

继续跟进,位于com.atlassian.jira.plugin.mobile.util.LinkBuilder.class
m_873861f57aa4f2abd53b6b0dcbc8ef3c_r

URL通过简单的拼接构造,而其中的path来自于location,完全可控。
继续回到execute函数。
m_68bdd547dea70d8d94a4ea3f1ff27812_r

location会从json对象中获取,在获取到URL对象后,再调用httpClientProvider发送Http请求。

因为URL的后半部分是可控的,如果我们简单指定location为@xx.com,那么最终的URL为host.com@xx.com,httpClientProvider实际上会对xx.com发送http请求,所以导致了SSRF漏洞产生。”target=”_blank””>https://jira-host.com@xx.com,httpClientProvider实际上会对xx.com发送http请求,所以导致了SSRF漏洞产生。

复测过程

http://192.168.222.9:7080/plugins/servlet/applications/versions-licenses
管理应用程序模块
m_813802cf84feac1df102307b2da68988_r

修复建议

  1. 将受影响的产品升级到最新安全版本:
    Jira Core Server、Jira Software Server 和 Jira Software Data Center 可升级至:

8.13.22
8.20.10
8.22.4
9.0.0
Jira Service Management Server 和 Data Center 可升级至:

4.13.22
4.20.10
4.22.4
5.0.0

  1. 缓解措施

(1) 关闭用户注册功能。

(2) 禁用Mobile Plugin,具体步骤如下:

a、在应用程序的顶部导航栏中,选择设置 -> 管理加载项或管理应用程序。

b、找到Mobile Plugin for Jira Data Center and Server应用程序,然后选择禁用即可。

(3) 升级Mobile Plugin至最新版本。

参考资料:https://confluence.atlassian.com/jira/jira-server-security-advisory-29nd-june-2022-1142430667.html

请登录后发表评论

    请登录后查看回复内容