CVE-2024-12556

8.7 HIGH

📋 TL;DR

This vulnerability allows attackers to exploit prototype pollution in Kibana to achieve code injection by combining unrestricted file upload with path traversal. It affects Kibana instances with vulnerable versions, potentially enabling remote code execution. Organizations using affected Kibana versions for data visualization and monitoring are at risk.

💻 Affected Systems

Products:
  • Kibana
Versions: Versions before 8.16.4 and 8.17.2
Operating Systems: All platforms running Kibana
Default Config Vulnerable: ⚠️ Yes
Notes: Affects Kibana instances with file upload functionality enabled, which is common in default configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise allowing attackers to execute arbitrary code on the Kibana server, potentially leading to data exfiltration, lateral movement, or ransomware deployment.

🟠

Likely Case

Unauthorized file upload leading to server-side code execution, enabling data theft, modification of Kibana dashboards, or persistence mechanisms.

🟢

If Mitigated

Limited impact with proper network segmentation and access controls, potentially only affecting the Kibana service itself.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires combining multiple techniques (prototype pollution, file upload, path traversal), but detailed technical information is available in the advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 8.16.4 and 8.17.2

Vendor Advisory: https://discuss.elastic.co/t/kibana-8-16-4-and-8-17-2-security-update-esa-2025-02/376918

Restart Required: Yes

Instructions:

1. Backup Kibana configuration and data. 2. Download Kibana 8.16.4 or 8.17.2 from Elastic website. 3. Stop Kibana service. 4. Replace existing installation with patched version. 5. Restart Kibana service. 6. Verify functionality.

🔧 Temporary Workarounds

Restrict File Upload Endpoints

all

Configure web application firewall or reverse proxy to block or restrict access to file upload endpoints in Kibana.

# Example nginx location block
location /api/kibana/uploads {
    deny all;
}

Network Segmentation

linux

Isolate Kibana instances from sensitive networks and restrict inbound connections to trusted sources only.

# Example iptables rule
sudo iptables -A INPUT -p tcp --dport 5601 -s trusted_ip_range -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 5601 -j DROP

🧯 If You Can't Patch

  • Implement strict network access controls to limit Kibana exposure
  • Disable or restrict file upload functionality in Kibana configuration

🔍 How to Verify

Check if Vulnerable:

Check Kibana version via web interface (Settings → About) or command: curl -X GET 'http://kibana-host:5601/api/status' | grep number

Check Version:

curl -s http://localhost:5601/api/status | grep -o '"number":"[^"]*"' | cut -d'"' -f4

Verify Fix Applied:

Confirm version is 8.16.4 or 8.17.2 or higher, and test file upload functionality with malicious payloads.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file upload patterns
  • Requests to prototype pollution endpoints
  • Path traversal attempts in upload requests

Network Indicators:

  • Multiple failed upload attempts followed by successful upload
  • Unusual outbound connections from Kibana server

SIEM Query:

source="kibana.log" AND ("file.upload" OR "prototype" OR "__proto__") AND status=200

🔗 References

📤 Share & Export