CVE-2021-26073
📋 TL;DR
This vulnerability allows attackers to bypass authentication in Atlassian Connect Express (ACE) by sending context JWTs to lifecycle endpoints where only server-to-server JWTs should be accepted. This permits attackers to send authenticated re-installation events to an app, potentially compromising app integrity. Affected are ACE versions from 3.0.2 before 6.6.0.
💻 Affected Systems
- Atlassian Connect Express (ACE)
📦 What is this software?
Connect Express by Atlassian
⚠️ Risk & Real-World Impact
Worst Case
Attackers could force re-installation of malicious apps, potentially gaining unauthorized access to Atlassian product data or executing arbitrary code in the app context.
Likely Case
Attackers could disrupt app functionality, install unauthorized apps, or manipulate app configurations to gain access to sensitive data.
If Mitigated
With proper JWT validation and network segmentation, impact is limited to app disruption rather than full system compromise.
🎯 Exploit Status
Exploitation requires understanding of JWT tokens and ACE endpoints but is straightforward for attackers with access to valid context JWTs.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 6.6.0
Vendor Advisory: https://confluence.atlassian.com/pages/viewpage.action?pageId=1051986099
Restart Required: Yes
Instructions:
1. Update Atlassian Connect Express to version 6.6.0 or later using npm: npm update atlassian-connect-express
2. Restart your Node.js application
3. Verify the update with: npm list atlassian-connect-express
🔧 Temporary Workarounds
Restrict lifecycle endpoint access
allImplement network-level restrictions to limit access to ACE lifecycle endpoints only from trusted Atlassian product IPs.
Manual JWT validation
allImplement custom middleware to validate JWT types before processing lifecycle endpoint requests.
🧯 If You Can't Patch
- Implement strict network segmentation to isolate ACE apps from untrusted networks
- Monitor and alert on unusual installation/re-installation events in app logs
🔍 How to Verify
Check if Vulnerable:
Check your package.json or run: npm list atlassian-connect-express | grep atlassian-connect-express
Check Version:
npm list atlassian-connect-express | grep atlassian-connect-express
Verify Fix Applied:
Verify installed version is 6.6.0 or higher: npm list atlassian-connect-express
📡 Detection & Monitoring
Log Indicators:
- Multiple installation events from same source
- Installation events with context JWTs instead of server-to-server JWTs
- Unusual timing of app re-installations
Network Indicators:
- HTTP POST requests to /installed or /uninstalled endpoints from unexpected sources
- JWT token validation failures in logs
SIEM Query:
source="ace-app-logs" AND (event="installed" OR event="uninstalled") AND count() > threshold
🔗 References
- https://community.developer.atlassian.com/t/action-required-atlassian-connect-vulnerability-a%5B%E2%80%A6%5Dypass-of-app-qsh-verification-via-context-jwts/47072
- https://confluence.atlassian.com/pages/viewpage.action?pageId=1051986099
- https://security.netapp.com/advisory/ntap-20210604-0004/
- https://community.developer.atlassian.com/t/action-required-atlassian-connect-vulnerability-a%5B%E2%80%A6%5Dypass-of-app-qsh-verification-via-context-jwts/47072
- https://confluence.atlassian.com/pages/viewpage.action?pageId=1051986099
- https://security.netapp.com/advisory/ntap-20210604-0004/