CVE-2021-41311

7.5 HIGH

📋 TL;DR

This vulnerability allows attackers with revoked administrator accounts to modify project Users & Roles settings in Atlassian Jira Server and Data Center. It affects organizations using Jira versions before 8.19.1 where administrator accounts have been disabled but not properly purged from the system.

💻 Affected Systems

Products:
  • Atlassian Jira Server
  • Atlassian Jira Data Center
Versions: All versions before 8.19.1
Operating Systems: All supported operating systems
Default Config Vulnerable: ⚠️ Yes
Notes: Requires an administrator account that has been revoked but not completely removed from the system.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could grant themselves or others unauthorized access to sensitive projects, modify permissions across the entire Jira instance, and potentially escalate privileges to full administrative control.

🟠

Likely Case

Former administrators could regain access to projects they previously managed, modify user roles, and disrupt project workflows or access sensitive information.

🟢

If Mitigated

With proper account lifecycle management and immediate patching, the risk is limited to a brief window where revoked accounts might still have residual access.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires access to a revoked administrator account and knowledge of the vulnerable endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 8.19.1 or later

Vendor Advisory: https://jira.atlassian.com/browse/JRASERVER-72802

Restart Required: Yes

Instructions:

1. Backup your Jira instance and database. 2. Download Jira version 8.19.1 or later from Atlassian's website. 3. Follow the official upgrade guide for your deployment type. 4. Restart Jira services after upgrade. 5. Verify the upgrade was successful.

🔧 Temporary Workarounds

Block vulnerable endpoint via reverse proxy

all

Temporarily block access to the /plugins/servlet/project-config/*/roles endpoint

# Example nginx config: location ~ ^/plugins/servlet/project-config/.*/roles$ { deny all; }
# Example Apache config: <LocationMatch "^/plugins/servlet/project-config/.*/roles$"> Require all denied </LocationMatch>

Immediately remove all revoked administrator accounts

all

Completely delete any administrator accounts that have been disabled or revoked

# Use Jira administration interface to permanently delete revoked admin accounts

🧯 If You Can't Patch

  • Implement strict network segmentation to limit access to Jira administration interfaces
  • Enhance monitoring of the /plugins/servlet/project-config/*/roles endpoint for unauthorized access attempts

🔍 How to Verify

Check if Vulnerable:

Check Jira version via Administration → System → System Info. If version is below 8.19.1, the system is vulnerable.

Check Version:

Check via Jira web interface: Administration → System → System Info, or via database query: SELECT * FROM propertystring WHERE propertyname='jira.version';

Verify Fix Applied:

After upgrading to 8.19.1 or later, verify the version in System Info and test that revoked admin accounts cannot access project configuration endpoints.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts to /plugins/servlet/project-config/*/roles endpoint
  • Role modification events from revoked user accounts
  • Failed authentication events followed by successful project configuration changes

Network Indicators:

  • HTTP POST requests to /plugins/servlet/project-config/*/roles from unexpected IP addresses
  • Unusual pattern of role modification requests

SIEM Query:

source="jira.log" AND (uri_path="/plugins/servlet/project-config/*/roles" OR message="*project-config*roles*") AND (user="*revoked*" OR user="*disabled*" OR status="403")

🔗 References

📤 Share & Export