CVE-2024-11449

7.5 HIGH

📋 TL;DR

This vulnerability in haotian-liu/llava version 1.2.0 allows attackers to perform Server-Side Request Forgery (SSRF) through the /run/predict endpoint. Attackers can exploit insufficient path parameter validation to access internal networks or AWS metadata endpoints, potentially exposing sensitive data. Organizations running LLaVA-1.6 with the vulnerable endpoint exposed are affected.

💻 Affected Systems

Products:
  • haotian-liu/llava
Versions: 1.2.0 (LLaVA-1.6)
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments with the /run/predict endpoint accessible. Docker containers and cloud deployments are particularly vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of internal network resources, AWS credential theft leading to cloud account takeover, and lateral movement to critical systems.

🟠

Likely Case

Unauthorized access to internal services, exposure of sensitive metadata, and potential data exfiltration from accessible endpoints.

🟢

If Mitigated

Limited to attempted exploitation attempts that are blocked by network controls, with no successful data access.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires crafting specific HTTP requests to the vulnerable endpoint. No authentication bypass is needed if endpoint is publicly accessible.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after 1.2.0

Vendor Advisory: https://huntr.com/bounties/e96aba28-d564-4ecb-ab77-350511d2e1ee

Restart Required: No

Instructions:

1. Update to the latest version of haotian-liu/llava. 2. Verify the /run/predict endpoint has proper input validation. 3. Test the fix by attempting SSRF payloads.

🔧 Temporary Workarounds

Network Segmentation

all

Restrict access to the /run/predict endpoint using firewall rules or network policies.

Input Validation

all

Implement strict validation of path parameters to block SSRF attempts.

🧯 If You Can't Patch

  • Implement network-level restrictions to block outbound requests from the vulnerable service
  • Deploy a web application firewall (WAF) with SSRF protection rules

🔍 How to Verify

Check if Vulnerable:

Test the /run/predict endpoint with SSRF payloads targeting internal addresses or AWS metadata endpoints.

Check Version:

Check the version in package.json or via the application's version endpoint if available.

Verify Fix Applied:

Attempt the same SSRF payloads after patching; successful requests should be blocked or return errors.

📡 Detection & Monitoring

Log Indicators:

  • Unusual requests to /run/predict with internal IPs or metadata URLs
  • Outbound connections from the service to unexpected destinations

Network Indicators:

  • Traffic from the service to internal network segments or metadata endpoints

SIEM Query:

source="llava" AND (url="/run/predict" AND (url_contains="169.254.169.254" OR url_contains="internal" OR url_contains="localhost"))

🔗 References

📤 Share & Export