10 月 5 日 Atlassian 挂了一条安全公告,编号 CVE-2026-21589,CVSS 9.3,未授权任意文件读取。这条洞的看点其实不在那个 9.3,在于"未授权"——连登录这一步都省了。

先把话说清楚,免得到时候有人被"任意文件读取"四个字吓过头:公告里写得挺克制,攻击者能读的是 web 应用根目录下的特定文件,而且得事先知道文件名和路径。它列不了目录,也翻不到文件系统以外去。Atlassian 自己补了一句:某些部署方式会把敏感文件放在这个根目录里,那种配置风险就高。

所以它不是 RCE 那种一步到位的东西。可只要配置文件、密钥文件正好躺在那个根目录下、名字又是能猜的——config、.env、credentials 这类——泄漏就是顺手的事。10/5 细节公开之后,有监测说两小时内就出现了利用尝试,所以"我根目录没放东西"这种安慰话,说不出口。

受影响的是自建的 Data Center 一票产品:Bitbucket、Confluence、Jira Service Management、Jira Software、Bamboo、Crowd,加上 Crucible 和 Fisheye。Atlassian Cloud 那边已经修完了,自建的得看自己的版本。

修复版本(低于这些的都算受影响):

  • 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 说自家调查没发现被利用的证据;CERT-EU 的建议更直接——先升可公网访问的实例,升完回头把访问日志翻一遍。

想看在哪个版本,很多产品的登录页源码里有个 ajs-version-number;取不到就进后台"关于"页看:

curl -s https://<你的实例>/login.jsp | grep -i ajs-version-number

(不同产品登录页不一样,取不到别较劲,后台一定看得到。)

这类"读文件"的洞,最容易被一句"我根目录又没放什么敏感东西"带过去。问题是根目录里有没有敏感文件,往往是装的人顺手放进去的——装机那位记得,过两年接手的人不一定记得。要么升,要么至少先去根目录 ls 一遍,看看有没有不该在那儿的东西;能公网访问的自建实例,别拖。

Atlassian 10-05 安全公告:受影响产品与修复版本对照表(CVE-2026-21589)

之前写堡垒机越权那篇时聊过,边缘服务、登录页、CI 配置这几类入口出事最多,这次倒好,连登录环节都省了。官方公告在 Atlassian 的 security advisories 页面,自查和补丁的说明都在那儿。