// threat brief
Atlassian Data Center arbitrary file access: attackers can read specific files in the web app folder without logging in
- CVSS
- 9.3 CRITICAL
- CISA KEV
- 2026-10-15
- Weakness
- CWE-552
- Topics
- Web apps
AI review 2026-10-20 (not human-reviewed)Command tests: none yetReproduced: not yetVerification record ↓
Several Atlassian Data Center products let unauthenticated attackers read specific files in the web app folder. Listed in CISA KEV.
| Who is affected | Organizations self-hosting Bitbucket, Confluence, Jira Software, Jira Service Management, Bamboo or Crowd Data Center, or Crucible or Fisheye, on versions below each product's fixed release. Atlassian Cloud is already patched, and Bitbucket Cloud is not affected. |
|---|---|
| What happens | If attackers know a file's exact name and path, they can read it from inside the web application root directory, though they cannot list directory contents. Some configurations may hold sensitive files there; researchers showed that in a Crowd setup with Jira configured, this exposed application credentials; where Crowd was reachable and the application had sufficient permissions, they used them to create a Jira administrator. |
| What to do now | Upgrade every installation to a fixed or the latest version. If you can't yet, take the instance off the internet if possible, or apply Atlassian's temporary mitigations such as a WAF or proxy rule. |
| Affected versions | Atlassian's advisory and tickets: all versions before each product's fixed release (All versions are affected); versions past End of Life may also be affected. The CVE record Atlassian filed as CNA lists starting versions (e.g. Bitbucket >= 4.6.0, Confluence >= 5.10.0, Jira Software >= 7.1.0). The two first-party sources differ, so this page lists both; detection should cover the union (all older versions). |
| Fixed versions | Bitbucket 9.4.26 / 10.2.8 / 10.5.1; Confluence 9.2.26 / 10.2.19; Jira Software 9.12.40 / 10.3.26 / 11.3.12; JSM 5.12.40 / 10.3.26 / 11.3.12; Bamboo 10.2.24 / 12.1.12; Crowd 6.3.7 / 7.0.3 / 7.1.7 (GitHub says 7.1.1) / 7.2.4; Crucible and Fisheye 4.9.15 |
| CVSS vector | Show full vectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:H/SA:H |
| Timeline |
|
| CISA KEV | Listed (2026-10-15): attacks have been seen in the wild |
Blue team playbook
Check, fix / mitigate, respond, harden. Matching the affected versions does not mean you were compromised, and a check that finds nothing does not prove you are safe; each item says what it can and cannot show. Tagged steps point to where the attack flow below can be stopped.
- 01Compare your version against the fixed releases
Check each product's version in its admin interface and compare it with the fixed-version table on this page. All older Data Center, Crucible and Fisheye versions are affected, and End of Life versions may be too. Atlassian Cloud has been patched by the vendor and needs no action.
- 02Search access logs for traversal patterns
Per Atlassian's advisory: URL-decode each access-log request line up to twice, then look for ".." right next to /, \ or :: (the advisory also gives a regex for searching raw, undecoded lines, which you can use instead). Where to run it: on the host running the affected product (or the host where its access logs are collected), replacing /path/to/product/logs at the end with the directory holding that product's access logs (the location depends on your installation; the advisory does not specify it). This is PlainCVE's command: it only reads, changes no files and connects to no other host; it searches every subfolder recursively for log files whose names contain "access", including date-rotated and .gz files, replaces undecodable bytes instead of stopping, and prints the file name plus each matching line. A security vendor's report (that page contains attack code, so PlainCVE does not link it) notes a matching request is an attempt, not proof of success, and does not show which file was returned.
Read-only checkpython3 -c 'import sys,os,re,gzip,urllib.parse as u; p=re.compile(r"\.\.(/|\\|::)|(/|\\|::)\.\."); [sys.stdout.write(os.path.join(d,f)+"\t"+l) for d,_,fs in os.walk(sys.argv[1]) for f in fs if "access" in f for l in (gzip.open if f.endswith(".gz") else open)(os.path.join(d,f),"rt",errors="replace") if p.search(u.unquote(u.unquote(l)))]' /path/to/product/logs
- 01Upgrade to a fixed or the latest version
The vendor recommends patching every affected installation. For End of Life versions, it recommends upgrading to a fixed LTS version or later.
- 02Can't upgrade yet: take it off the internet
The vendor advises removing the instance from the internet until you can patch or apply mitigations, if possible.
- 03Apply the vendor's temporary blocking rules
Pick one: a WAF/proxy regex rule (all products), Tomcat RewriteValve (Confluence, JSM, Jira, Bamboo, Crowd), or a urlrewrite.xml rule (Bitbucket only). The vendor stresses these are limited and no replacement for patching. Take the exact rules from the official advisory.
- 01Rotate application credentials that may have leaked
If logs show suspicious requests, especially in a Crowd setup with Jira, rotate the application credentials in Crowd's configuration. This is a precautionary PlainCVE suggestion; according to a news report (that page contains attack code, so PlainCVE does not link it), watchTowr says no use of stolen credentials has been observed so far.
- 02Review jira-administrators membership
The takeover researchers demonstrated adds a user to jira-administrators. Check for unfamiliar new accounts (PlainCVE suggestion).
- 01Turn on Crowd IP allowlisting
Researchers note this can block the direct route from stolen credentials to a new administrator.
- 02Don't expose Data Center products directly to the internet
This flaw needs no login, only network access to the instance (plus knowledge of the exact file path); keeping it behind a VPN or internal network shrinks exposure (PlainCVE suggestion).
- 03Don't stay on End of Life versions
The vendor says End of Life versions may also be affected and recommends a fixed LTS version or later.
Full remediation steps and notes
- Upgrade first. Pick the fixed version on the same branch as your current version from the table above; for End of Life versions, the vendor recommends a fixed LTS version or later.
- Limits of the temporary mitigations. The vendor offers three rule options (WAF/proxy, Tomcat RewriteValve, Bitbucket-only urlrewrite.xml) but says plainly they are limited and no replacement for patching. Copy the rules from the official advisory rather than writing your own.
- For Crowd, go by the vendor ticket. Atlassian’s ticket lists 7.1.7 while GitHub’s unreviewed advisory says 7.1.1; on the 7.1.x branch, 7.1.7 or later satisfies both.
- When reading logs. A matching request only shows someone tried (a security vendor’s report; that page contains attack code, so PlainCVE does not link it); judge it together with the response status and any later account changes.
Attack flow
Read left to right: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Click an icon for details.
Read top to bottom: this is the order the attack happens in. A blue shield means the step can be stopped; the earlier, the better. Tap an icon for details.
- Attacker
Sends a crafted request to a reachable Data Center instance
No account or login is needed, only network access to an affected instance.
Defense: Until patched, take the instance off the internet if possible (vendor advice).
- Your system
Shared web-resource code turns "::" into a path separator
watchTowr's analysis (as reported by Rapid7) traced the flaw to path handling in Atlassian's shared web-resource code, where "::" sequences can become path separators during processing.
Defense: Upgrade to a fixed version; a security vendor's report (that page contains attack code, so PlainCVE does not link it) says the fix is in atlassian-plugins-webresource 6.0.8, shipped in the fixed releases.
- Your system
The server returns the named file from the web app folder
The attacker must already know the file's exact name and path and cannot list directories. Researchers could not reach files outside the Tomcat application context.
Defense: Temporary mitigations: a WAF/proxy regex rule (all products), Tomcat RewriteValve (Confluence, JSM, Jira, Bamboo, Crowd) or a urlrewrite.xml rule (Bitbucket only).
- Attacker
In a Crowd setup with Jira, reads application credentials
watchTowr reports (as relayed by Rapid7) that reading Crowd's crowd.properties configuration file exposed application credentials. This only applies in certain setups.
Defense: Patch; if you suspect the file was read, rotate those credentials (PlainCVE suggestion).
- Attacker
Uses the credentials to create a Jira administrator
Where Crowd was reachable and the application had sufficient permissions, researchers created a user and added it to jira-administrators.
Defense: Researchers note Crowd's IP allowlisting can block this direct route.
Who is affected
| Product | Fixed versions | First affected version (CVE record, filed by Atlassian as CNA; the advisory says all versions) |
|---|---|---|
| Bitbucket Data Center | 9.4.26, 10.2.8, 10.5.1 | 4.6.0 |
| Confluence Data Center | 9.2.26, 10.2.19 | 5.10.0 |
| Jira Software Data Center | 9.12.40, 10.3.26, 11.3.12 | 7.1.0 |
| Jira Service Management Data Center | 5.12.40, 10.3.26, 11.3.12 | 3.1.0 |
| Bamboo Data Center | 10.2.24, 12.1.12 | 7.0.1 |
| Crowd Data Center | 6.3.7, 7.0.3, 7.1.7 (GitHub says 7.1.1), 7.2.4 | 2.11.0 |
| Crucible | 4.9.15 | Not listed |
| Fisheye | 4.9.15 | Not listed |
| Atlassian Cloud products | Patched by the vendor; no action needed | — |
| Bitbucket Cloud | Not affected | — |
Two first-party sources from the same vendor differ, so this page lists both: Atlassian’s security advisory and product tickets say “All versions are affected” and give no starting version. The CVE record Atlassian filed as CNA lists the starting versions in the right-hand column (e.g. Bitbucket >= 4.6.0), while the same record’s affected field also says “All other versions affected”. NVD’s CPE ranges largely follow it but differ in detail (e.g. NVD’s Bitbucket Data Center CPE starts at 7.17.0, while 4.6.0 through 8.14.6 are listed under the bitbucket_server CPE). GitHub’s unreviewed advisory repeats the CVE record’s numbers. This page does not pick a side: detection and upgrades should cover the union, i.e. all versions before the fixed releases. Versions past End of Life may also be affected.
CVE record status: PlainCVE’s snapshot at research time (2026-10-18) showed the CVE record and NVD as rejected since 2026-10-16 (reason: publication “may have been a false positive or a mistake”). When re-read on 2026-10-20, the CVE record’s state was PUBLISHED (updated 2026-10-19) with no rejection data, and NVD showed Analyzed. No source explains the rejection or the restoration. Either way, go by the fixes.
How it works
Atlassian’s advisory says only that an unauthenticated attacker can read specific files inside the web application root directory. The attacker must already know the file’s exact name and path; the flaw does not let anyone list directory contents. The vendor also warns that in some configurations sensitive files may be present that raise the risk.
watchTowr’s analysis (as reported by Rapid7) traced the flaw to the “web-resource” code that the products share: during request processing, double-colon (”::”) sequences can become path separators, letting a request step outside the folder it should be limited to. A security vendor’s report (that page contains attack code, so PlainCVE does not link it) says the fix is in the shared library atlassian-plugins-webresource 6.0.8. CISA classifies the weakness as CWE-552 (files or directories accessible to external parties).
The flawed approach (conceptual illustration, not the original source code):
Show code example(python)
def serve_resource(name):
# Checks for ".." first, then turns :: into /
if ".." in name.split("/"):
reject()
path = name.replace("::", "/") # path segments created by the conversion are never re-checked
return read_file(WEBAPP_ROOT / path)The fixed approach:
Show code example(python)
def serve_resource(name):
path = (RESOURCE_DIR / name.replace("::", "/")).resolve()
# After every conversion, confirm the final path is still inside the allowed folder
if not path.is_relative_to(RESOURCE_DIR):
reject()
return read_file(path)What researchers could confirm: watchTowr confirmed file reads on Jira, Confluence and Bitbucket, but could not reach files outside the Tomcat application context. Rapid7, relaying watchTowr’s findings, reports that in a Crowd deployment with Jira configured, reading crowd.properties exposed application credentials; where Crowd was reachable and the application had sufficient permissions, researchers used them to create a Jira administrator. Crowd’s IP allowlisting can block that route. No source says this flaw allows remote code execution.
Timeline
| Date | Event |
|---|---|
| 2026-10-02 | Tickets for Jira, JSM, Confluence, Bitbucket and Crowd are created on 10-02 (Bamboo, Crucible and Fisheye on 10-03); some had a rewrite.config attached the same day (Bamboo’s rewrite.config was attached on 10-06; Crucible and Fisheye have none). The tickets’ current content matches the advisory summary, but whether they were public when created and what they said then cannot be confirmed from the sources, so first disclosure stays at 10-05, the advisory and CVE record date |
| 2026-10-05 | Atlassian publishes its advisory and fixes for every product; the advisory says Cloud products are patched and its investigation found no evidence of exploitation of them, while for self-managed instances Atlassian cannot confirm whether they have been affected |
| 2026-10-06 | watchTowr publishes its analysis with proof-of-concept code; according to news reports, Previdian says its honeypots recorded exploitation attempts within hours (SecurityWeek says October 6, while another news report [that page contains attack code, so PlainCVE does not link it] dated October 7 says “earlier today”; the date is reported inconsistently) |
| 2026-10-15 | CISA adds it to the Known Exploited Vulnerabilities catalog |
| 2026-10-16 | The CVE record and NVD are marked rejected (per the 10-18 snapshot) |
| 2026-10-18 | CISA’s patch deadline for federal agencies |
| 2026-10-19 | The CVE record is updated to PUBLISHED (confirmed when read on 2026-10-20); NVD shows Analyzed |
Further reading
- Scoring differences: Atlassian’s (the CNA’s) own CVSS 4.0 score is 9.3 (Critical), with its vector rating the impact on downstream systems (SC/SI/SA) as high; NVD lists it as Secondary. NVD’s own score is CVSS 3.1 7.5 (High; AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, Primary), counting only confidentiality impact. This page uses Atlassian’s 9.3 in its severity field because it is the vendor’s assessment and matches the advisory; NVD’s 7.5 is shown alongside.
- How far exploitation has gone: It is listed in CISA KEV; according to a news report (that page contains attack code, so PlainCVE does not link it), watchTowr says it is seeing active exploitation but no post-compromise activity or use of stolen credentials so far; a security vendor’s report (that page contains attack code, so PlainCVE does not link it) cannot confirm any attempt succeeded. CISA lists ransomware use as “Unknown”.
- Zero-day? No source says so. The earliest reported attempts (October 6 or 7; reports differ) came after the fixes and advisory (October 5); this is PlainCVE’s analysis.
- Who found it: watchTowr says Atlassian found and disclosed it itself; Atlassian does not say.
- Related weakness type: CWE-552.
Verification Checked item by item against sources by AI under our review rules, all passed; not human-reviewed and not yet reproduced in our lab
| AI review | 2026-10-20 · review rules |
|---|
Verification records describe the environment and the result only, never reproduction steps or code that could attack other people’s systems. See our policy.
Sources
- AdvisoryCVE-2026-21589 - Arbitrary File Access Vulnerability impacts Multiple Products · Atlassian, 2026-10-05 · accessed 2026-10-18
- CVE / NVD / OSVCVE-2026-21589 CVE record · CVE Program, 2026-10-19 · accessed 2026-10-20
- CVE / NVD / OSVNVD - CVE-2026-21589 · NIST · accessed 2026-10-20
- OtherGitHub Advisory Database entry for CVE-2026-21589 (unreviewed) · GitHub · accessed 2026-10-18
- AdvisoryCISA KEV snapshot for CVE-2026-21589 · CISA (PlainCVE snapshot), 2026-10-15 · accessed 2026-10-18
- VendorBSERV-20604 (Bitbucket Data Center) · Atlassian · accessed 2026-10-18
- VendorCONFSERVER-104488 (Confluence Data Center) · Atlassian · accessed 2026-10-18
- VendorJRASERVER-79546 (Jira Software Data Center) · Atlassian · accessed 2026-10-18
- VendorJSDSERVER-16809 (Jira Service Management Data Center) · Atlassian · accessed 2026-10-18
- VendorBAM-26567 (Bamboo Data Center) · Atlassian · accessed 2026-10-18
- VendorCWD-6610 (Crowd Data Center) · Atlassian · accessed 2026-10-18
- VendorCRUC-8741 (Crucible) · Atlassian · accessed 2026-10-18
- VendorFE-7583 (Fisheye) · Atlassian · accessed 2026-10-18
- ResearchETR: CVE-2026-21589 critical unauthenticated arbitrary file access in Atlassian products · Rapid7 · accessed 2026-10-18
- ResearchAtlassian Jira/Confluence arbitrary file read (CVE-2026-21589) · watchTowr · accessed 2026-10-18
- NewsAtlassian warns of critical file access flaw in Jira, Confluence · BleepingComputer · accessed 2026-10-18
- NewsAttackers target critical Atlassian vulnerability within hours of PoC publication · SecurityWeek · accessed 2026-10-18
Press brief
In one sentence
On October 5, 2026, Atlassian disclosed a flaw in eight self-hosted products (six Data Center products plus Crucible and Fisheye), including Jira, Confluence and Bitbucket, that lets unauthenticated attackers read specific files inside the web application folder, and released fixes the same day. Research firm watchTowr published an analysis with proof-of-concept code the next day; according to news reports, security firm Previdian said it saw exploitation attempts within hours. The US agency CISA added it to its Known Exploited Vulnerabilities catalog on October 15. Separately, the CVE record was marked rejected on October 16 (per PlainCVE's October 18 snapshot) but was back to PUBLISHED by October 19.
Key facts
- Severity
- CVSS 4.0 9.3 (Atlassian as CNA; listed as Secondary in NVD; the score this page uses); NVD 7.5 (CVSS 3.1, Primary) services.nvd.nist.gov
- Advisory and fixes
- 2026-10-05 confluence.atlassian.com
- Added to CISA KEV
- 2026-10-15 (federal deadline 10-18) cisa.gov
- CVE record status
- Currently PUBLISHED (updated 2026-10-19); had been marked rejected on 2026-10-16, and the 10-18 snapshot still showed that cveawg.mitre.org
- Proof of concept published
- 2026-10-06 (watchTowr) securityweek.com
Confirmed
- Atlassian confirms eight self-hosted products (six Data Center products plus Crucible and Fisheye) are affected, letting unauthenticated attackers read specific files in the web application root, and has released fixes.
- CISA added it to the Known Exploited Vulnerabilities catalog on 2026-10-15.
Unconfirmed / disputed
- According to news reports, Previdian says its honeypots recorded exploitation attempts within hours of watchTowr publishing technical details; the date is reported inconsistently (SecurityWeek says October 6, while another news report (that page contains attack code, so PlainCVE does not link it) dated October 7 says "earlier today"). PlainCVE could not obtain Previdian's own public material.
- According to a news report (that page contains attack code, so PlainCVE does not link it), watchTowr says it is seeing active exploitation but no post-compromise activity or use of stolen credentials so far.
- PlainCVE's snapshot from 2026-10-18 showed the CVE record as rejected (reason: possible false positive or mistake); when re-read on 2026-10-20, the CVE record was PUBLISHED and NVD was Analyzed. No source explains the rejection or the restoration.
- For one Crowd fixed version, Atlassian's ticket says 7.1.7 while GitHub's unreviewed advisory says 7.1.1.
- A security vendor's report (that page contains attack code, so PlainCVE does not link it) says it cannot confirm any observed attempt succeeded.
- No source says this flaw allows remote code execution.
Quotable line
This flaw doesn't show an intruder what's in the room, but anyone who knows which drawer to open can walk off with what's inside.
Images
Download the share image (PNG) · Attack flow diagram (downloadable)
Please credit "PlainCVE" and link to this page. Full citation format is under "How to cite" below. Found a factual error? Report it.
Atlassian Data Center arbitrary file access: attackers can read specific files in the web app folder without logging in On October 5, 2026, Atlassian disclosed a flaw in eight self-hosted products (six Data Center products plus Crucible and Fisheye), including Jira, Confluence and Bitbucket, that lets unauthenticated attackers read specific files inside the web application folder, and released fixes the same day. Research firm watchTowr published an analysis with proof-of-concept code the next day; according to news reports, security firm Previdian said it saw exploitation attempts within hours. The US agency CISA added it to its Known Exploited Vulnerabilities catalog on October 15. Separately, the CVE record was marked rejected on October 16 (per PlainCVE's October 18 snapshot) but was back to PUBLISHED by October 19. Key facts: - Severity:CVSS 4.0 9.3 (Atlassian as CNA; listed as Secondary in NVD; the score this page uses); NVD 7.5 (CVSS 3.1, Primary)(https://services.nvd.nist.gov/rest/json/cves/2.0?cveId=CVE-2026-21589) - Advisory and fixes:2026-10-05(https://confluence.atlassian.com/security/cve-2026-21589-arbitrary-file-access-vulnerability-impacts-multiple-products-1870495748.html) - Added to CISA KEV:2026-10-15 (federal deadline 10-18)(https://www.cisa.gov/known-exploited-vulnerabilities-catalog?search_api_fulltext=CVE-2026-21589) - CVE record status:Currently PUBLISHED (updated 2026-10-19); had been marked rejected on 2026-10-16, and the 10-18 snapshot still showed that(https://cveawg.mitre.org/api/cve/CVE-2026-21589) - Proof of concept published:2026-10-06 (watchTowr)(https://www.securityweek.com/attackers-target-critical-atlassian-vulnerability-within-hours-of-poc-publication) Confirmed: - Atlassian confirms eight self-hosted products (six Data Center products plus Crucible and Fisheye) are affected, letting unauthenticated attackers read specific files in the web application root, and has released fixes. - CISA added it to the Known Exploited Vulnerabilities catalog on 2026-10-15. Unconfirmed / disputed: - According to news reports, Previdian says its honeypots recorded exploitation attempts within hours of watchTowr publishing technical details; the date is reported inconsistently (SecurityWeek says October 6, while another news report (that page contains attack code, so PlainCVE does not link it) dated October 7 says "earlier today"). PlainCVE could not obtain Previdian's own public material. - According to a news report (that page contains attack code, so PlainCVE does not link it), watchTowr says it is seeing active exploitation but no post-compromise activity or use of stolen credentials so far. - PlainCVE's snapshot from 2026-10-18 showed the CVE record as rejected (reason: possible false positive or mistake); when re-read on 2026-10-20, the CVE record was PUBLISHED and NVD was Analyzed. No source explains the rejection or the restoration. - For one Crowd fixed version, Atlassian's ticket says 7.1.7 while GitHub's unreviewed advisory says 7.1.1. - A security vendor's report (that page contains attack code, so PlainCVE does not link it) says it cannot confirm any observed attempt succeeded. - No source says this flaw allows remote code execution. 「This flaw doesn't show an intruder what's in the room, but anyone who knows which drawer to open can walk off with what's inside.」— PlainCVE https://plaincve.date/en/vulns/cve-2026-21589-atlassian-data-center-file-read
How to cite this page
This article is CC BY 4.0. Please keep the attribution and link when republishing.
PlainCVE Team (2026). "Atlassian Data Center arbitrary file access: attackers can read specific files in the web app folder without logging in". PlainCVE. https://plaincve.date/en/vulns/cve-2026-21589-atlassian-data-center-file-read (accessed YYYY-MM-DD)BibTeX
@misc{cve202621589atlassiandatacenterfileread2026,
title = {Atlassian Data Center arbitrary file access: attackers can read specific files in the web app folder without logging in},
author = {PlainCVE Team},
year = {2026},
howpublished = {PlainCVE},
url = {https://plaincve.date/en/vulns/cve-2026-21589-atlassian-data-center-file-read},
note = {Updated 2026-10-20}
}