CVE-2021-34427
📋 TL;DR
This vulnerability allows remote attackers to execute arbitrary Java Server Pages (JSP) code on Eclipse BIRT servers by injecting malicious code through query parameters. Attackers can create accessible JSP files in the BIRT viewer directory, leading to remote code execution. Organizations using Eclipse BIRT versions 4.8.0 or earlier for business intelligence reporting are affected.
💻 Affected Systems
- Eclipse Business Intelligence and Reporting Tools (BIRT)
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Full system compromise with attacker gaining complete control over the server, data exfiltration, lateral movement within the network, and persistent backdoor installation.
Likely Case
Remote code execution allowing attackers to run arbitrary commands, access sensitive data, modify reports, and potentially pivot to other systems.
If Mitigated
Limited impact with proper network segmentation, application firewalls, and monitoring detecting exploitation attempts.
🎯 Exploit Status
Multiple public exploit scripts and detailed write-ups exist. Attack requires only HTTP access to vulnerable endpoint.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 4.9.0 and later
Vendor Advisory: https://bugs.eclipse.org/bugs/show_bug.cgi?id=538142
Restart Required: Yes
Instructions:
1. Download Eclipse BIRT version 4.9.0 or later from official Eclipse repository. 2. Backup current BIRT installation and configuration. 3. Replace existing BIRT installation with patched version. 4. Restart application server hosting BIRT. 5. Verify reports function correctly.
🔧 Temporary Workarounds
Disable BIRT Viewer
allRemove or disable the BIRT Viewer component if not required for business operations
Remove BIRT Viewer WAR file from application server deployment directory
Web Application Firewall Rules
allBlock malicious query parameters containing JSP injection patterns
Add WAF rule to block requests containing suspicious JSP tags or script patterns in query parameters
🧯 If You Can't Patch
- Implement strict network segmentation to isolate BIRT servers from sensitive systems
- Deploy web application firewall with rules specifically blocking JSP injection patterns in query parameters
🔍 How to Verify
Check if Vulnerable:
Check BIRT version via web interface or examine BIRT installation files for version information. Versions 4.8.0 or earlier are vulnerable.
Check Version:
Check BIRT installation directory for version.txt or examine web application metadata
Verify Fix Applied:
Confirm BIRT version is 4.9.0 or later. Test that JSP file creation via query parameters is no longer possible.
📡 Detection & Monitoring
Log Indicators:
- Unusual JSP file creation in BIRT directories
- HTTP requests with suspicious query parameters containing JSP tags
- Multiple failed attempts followed by successful JSP file creation
Network Indicators:
- HTTP POST/GET requests to BIRT endpoints with encoded JSP content in parameters
- Unusual outbound connections from BIRT server post-exploitation
SIEM Query:
source="birt_logs" AND ("jsp" OR "script" OR "<%=") AND ("query" OR "parameter")
🔗 References
- http://packetstormsecurity.com/files/170326/Eclipse-Business-Intelligence-Reporting-Tool-4.11.0-Remote-Code-Execution.html
- http://seclists.org/fulldisclosure/2022/Dec/30
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=538142
- http://packetstormsecurity.com/files/170326/Eclipse-Business-Intelligence-Reporting-Tool-4.11.0-Remote-Code-Execution.html
- http://seclists.org/fulldisclosure/2022/Dec/30
- https://bugs.eclipse.org/bugs/show_bug.cgi?id=538142