CVE-2023-27087
📋 TL;DR
A permissions vulnerability in Xuxueli xxl-job versions 2.2.0, 2.3.0, and 2.3.1 allows attackers to obtain sensitive information via the pageList parameter. This affects organizations using these vulnerable versions of the distributed task scheduling framework. Attackers can exploit this to access unauthorized data.
💻 Affected Systems
- Xuxueli xxl-job
📦 What is this software?
Xxl Job by Xuxueli
Xxl Job by Xuxueli
Xxl Job by Xuxueli
⚠️ Risk & Real-World Impact
Worst Case
Complete exposure of sensitive job data, configuration details, and potentially credentials stored in the system, leading to full system compromise.
Likely Case
Unauthorized access to job execution logs, configuration parameters, and system information that could facilitate further attacks.
If Mitigated
Limited information disclosure with proper access controls and network segmentation in place.
🎯 Exploit Status
Exploitation requires some level of access but is straightforward once authenticated.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.4.0
Vendor Advisory: https://github.com/xuxueli/xxl-job/issues/3096
Restart Required: Yes
Instructions:
1. Backup current configuration and data. 2. Download xxl-job version 2.4.0 or later from official repository. 3. Replace vulnerable files with patched version. 4. Restart the xxl-job service. 5. Verify functionality.
🔧 Temporary Workarounds
Network Access Restriction
linuxRestrict network access to xxl-job admin interface to trusted IP addresses only.
iptables -A INPUT -p tcp --dport [xxl-job-port] -s [trusted-ip] -j ACCEPT
iptables -A INPUT -p tcp --dport [xxl-job-port] -j DROP
Authentication Enhancement
allImplement additional authentication layers or rate limiting on the admin interface.
🧯 If You Can't Patch
- Implement strict network segmentation to isolate xxl-job instances from untrusted networks.
- Enable detailed logging and monitoring for unauthorized access attempts to the pageList parameter.
🔍 How to Verify
Check if Vulnerable:
Check the xxl-job version in the admin interface or configuration files. If version is 2.2.0, 2.3.0, or 2.3.1, the system is vulnerable.
Check Version:
grep -r 'version' xxl-job-admin/src/main/resources/application.properties
Verify Fix Applied:
After patching, verify the version shows 2.4.0 or later in the admin interface and test that sensitive information is no longer accessible via pageList parameter.
📡 Detection & Monitoring
Log Indicators:
- Unusual access patterns to pageList parameter
- Multiple failed authentication attempts followed by successful pageList access
Network Indicators:
- Unusual traffic to xxl-job admin interface from unexpected sources
SIEM Query:
source="xxl-job" AND (uri="*pageList*" OR parameter="pageList")