【复现】Atlassian 多产品未授权任意文件读取漏洞(CVE-2026-21589)
启明星辰
启明星辰
ADLab
2026年10月9日 17:31
北京
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
更多安全资讯和分析文章请关注启明星辰ADLab微信公众号及官方网站(adlab.venustech.com.cn)
Atlassian Data Center系列产品(Jira、Confluence、Bitbucket、Bamboo、Crowd、Crucible、Fisheye)是广泛用于企业研发协作、项目管理和代码托管的套件。
CVE-2026-21589是Atlassian于2026年10月5日发布安全公告披露的任意文件访问(Arbitrary File Access/Read)漏洞,影响上述几乎所有Data Center产品的全部历史版本。该漏洞允许未认证攻击者读取Web应用根目录内的任意文件(含受保护的WEB-INF目录),CVSS 4.0评分高达9.3分(Critical)。
漏洞源于多产品共用的组件库atlassian-plugins-webresource中的路径处理缺陷:Router.java中的unescapeSlashes()会把 :: 还原为 /,但路径清洗发生在还原之前,攻击者利用 ..:: 组合即可绕过防护实现目录穿越,读取 WEB-INF/web.xml、WEB-INF/classes/crowd.properties等敏感文件,在某些场景下可以结合任意文件读取实现RCE。例如在Jira与Crowd集成部署的场景下,攻击者可通过读取crowd.properties获得Crowd应用的明文凭据,进而接管身份管理平台、创建管理员账户,最终上传恶意Jira插件实现 RCE。
根据FOFA查询数据,仅Confluence一个产品在互联网上的暴露实例就接近80多万个,受影响的Jira、Crowd等产品实例数量同样庞大。由于概念验证漏洞利用程序(PoC)已经公开,并且该漏洞已在互联网上广泛传播,对于使用 Atlassian Data Center产品的组织而言,该漏洞构成了直接且严重的风险。
-
影响范围
所有历史版本均受影响,需升级至对应修复版本:
| 产品 | 修复版本 |
| Bitbucket Data Center | 9.4.26 / 10.2.8 / 10.5.1 |
| Confluence Data Center | 9.2.26 / 10.2.19 |
| Jira Service Management Data Center | 5.12.40 / 10.3.26 / 11.3.12 |
| Jira Software Data Center | 9.12.40 / 10.3.26 / 11.3.12 |
| Bamboo Data Center | 10.2.24 / 12.1.12 |
| Crowd Data Center | 6.3.7 / 7.0.3 / 7.1.7 / 7.2.4 |
| Crucible / Fisheye | 4.9.15 |
-
漏洞描述
该漏洞存在于Atlassian多产品共用的atlassian-plugins-webresource组件库中。正常情况下,该库提供的Web资源下载路由(/download/resources/... 等)用于向浏览器分发插件静态资源,其中包含对资源路径的严格校验,不允许出现目录穿越字符。
漏洞的关键问题在于:com.atlassian.plugin.webresource.impl.http.Router类中的unescapeSlashes()函数会将路径中的 :: 替换回 /,而这一\"反转义\"操作发生在路径校验之后。攻击者只需在请求中使用 ..:: 组合字符,即可让服务端在校验完成后将 ..:: 还原为 ../,实现目录穿越,最终读取Web应用根目录内的任意文件(如WEB-INF/web.xml、WEB-INF/classes/crowd.properties等)。
由于Crowd配置文件crowd.properties中以明文形式保存了Jira向Crowd注册的应用名称与应用密码,攻击者获得该文件后即可直接调用Crowd REST API,实现用户枚举、创建管理员账户等高危操作,危害极大。
-
漏洞原理
该漏洞本质上是:特殊字符反转义绕过 + 路径清洗时机不当 + 敏感配置文件泄露共同导致的未授权任意文件读取,在某些情况下可进一步升级为账户接管与RCE。
修复前,com/atlassian/plugin/webresource/impl/http/Router.java 中存在如下一组函数:
该逻辑存在一个关键问题::: 是产品自定义的 / 转义形式(用于在URL中表达路径分隔符),但unescapeSlashes()的反转义发生在路由分发和路径校验之后。攻击者构造的 ..:: 在校验阶段不构成 ../,顺利通过校验;在真正定位文件时才被还原为 ../,从而穿越到任意目录。
-
漏洞复现
本次复现使用的版本为:Jira Software Data Center 11.3.11(受影响)、Crowd Data Center 7.2.3(受影响)。
使用一键化Python利用脚本(cve-2026-21589-jira-fullchain.py),实现从任意文件读取、窃取Crowd应用凭据、接管Crowd创建管理员账户、登录Jira后台实现RCE的完整利用链。
-
安全建议
(1)官方安全更新(推荐)
Atlassian官方已发布安全公告,请按指导将Jira Software、Confluence、Bitbucket、Bamboo、Crowd、Crucible、Fisheye等 Data Center产品升级至修复版本或最新版本。
(2)临时缓解措施(若暂时无法升级)
- 将实例从公网摘除,限制外部网络访问。
- 在WAF或反向代理上阻断URL中包含 .. 紧邻 /、\、:: 及其URL编码形式的请求,官方给出的WAF正则为:(?is).\(?:/|\\|::|%(?:25)\(?:2f|5c)|(?::|%(?:25)\3a){2})(?:\.|%(?:25)\2e){2}(?:/|\\|::|%(?:25)\(?:2f|5c)|(?::|%(?:25)\3a){2}|;|%(?:25)\3b|$).\ 。
- 按官方指引启用Tomcat的RewriteValve并部署rewrite.config规则(Jira/Confluence/JSM/Bamboo/Crowd适用)。
- 排查Jira侧WEB-INF/classes/crowd.properties等敏感文件的存在性,并评估是否在Crowd侧开启IP白名单。
- 排查访问日志中是否存在 .. 紧邻 /、\、:: 的请求(建议先做URL解码,最多两次),以及是否存在异常的新增管理员账户与插件安装记录。
参考链接:
[1] https://confluence.atlassian.com/security/cve-2026-21589-arbitrary-file-access-vulnerability-impacts-multiple-products-1870495748.html
[2] https://labs.watchtowr.com/you-wont-hear-about-these-even-in-myths-atlassian-jira-confluence-and-more-pre-auth-arbitrary-file-read-cve-2026-21589/
启明星辰积极防御实验室(ADLab)
ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截至目前,ADLab已通过 CNVD/CNNVD/NVDB/CVE累计发布安全漏洞7000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖基础安全研究、电信运营商基础设施安全研究、移动终端安全研究、云安全研究、信创安全研究、物联网安全研究、车联网安全研究、工控安全研究、数据安全研究、5G安全研究、AI安全研究、卫星安全研究、低空安全研究、高级威胁研究、攻防体系建设。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论