CVE-2025-68384
📋 TL;DR
This vulnerability allows authenticated Elasticsearch users with low privileges to submit oversized user settings data, causing excessive memory allocation that leads to out-of-memory crashes and persistent denial of service. It affects Elasticsearch deployments with authenticated user access.
💻 Affected Systems
- Elasticsearch
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete service outage through OOM crashes, requiring manual intervention to restart Elasticsearch nodes, potentially causing data unavailability and operational disruption.
Likely Case
Intermittent service degradation or crashes affecting specific nodes, requiring monitoring and restart procedures to maintain availability.
If Mitigated
Minimal impact with proper authentication controls, rate limiting, and monitoring in place to detect and block excessive resource usage attempts.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once credentials are obtained.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 8.19.9, 9.1.9, or 9.2.3
Vendor Advisory: https://discuss.elastic.co/t/elasticsearch-8-19-9-9-1-9-and-9-2-3-security-update-esa-2025-33/384181
Restart Required: Yes
Instructions:
1. Backup your Elasticsearch data and configuration. 2. Download the patched version from the Elastic website. 3. Stop Elasticsearch services. 4. Install the updated version. 5. Restart Elasticsearch services. 6. Verify the version is updated.
🔧 Temporary Workarounds
Implement Rate Limiting
allConfigure rate limiting on user settings API endpoints to prevent excessive requests.
Configure in elasticsearch.yml: xpack.security.authc.api_key.rate_limit.max_requests_per_second: 10
Restrict User Permissions
allApply principle of least privilege by limiting user settings modification permissions.
Use Elasticsearch role-based access control to restrict 'manage' privileges on user settings.
🧯 If You Can't Patch
- Implement strict authentication controls and monitor for unusual user settings activity.
- Deploy network-level controls to limit request sizes and implement resource usage monitoring.
🔍 How to Verify
Check if Vulnerable:
Check Elasticsearch version via API: curl -X GET 'http://localhost:9200' and compare against affected versions.
Check Version:
curl -X GET 'http://localhost:9200' | grep number
Verify Fix Applied:
Verify version is 8.19.9, 9.1.9, or 9.2.3 or higher using the same API call.
📡 Detection & Monitoring
Log Indicators:
- OutOfMemoryError in Elasticsearch logs
- Excessive memory usage alerts
- Unusual user settings API calls
Network Indicators:
- Large POST requests to user settings endpoints
- Spike in memory allocation requests
SIEM Query:
source="elasticsearch.logs" AND ("OutOfMemoryError" OR "java.lang.OutOfMemoryError")