CVE-2024-11603

7.5 HIGH

📋 TL;DR

A Server-Side Request Forgery (SSRF) vulnerability in lm-sys/fastchat version 0.2.36 allows attackers to send crafted requests through the /queue/join? endpoint, potentially accessing internal networks or AWS metadata. This affects anyone running vulnerable versions of fastchat, particularly those with internet-facing instances.

💻 Affected Systems

Products:
  • lm-sys/fastchat
Versions: 0.2.36
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects instances with the vulnerable endpoint exposed. Default configurations may be vulnerable if the service is internet-facing.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of internal network resources, AWS credential theft via metadata endpoint, and lateral movement to other systems.

🟠

Likely Case

Unauthorized access to internal services, data exfiltration from internal APIs, and potential AWS metadata exposure.

🟢

If Mitigated

Limited impact with proper network segmentation and egress filtering, though some internal service enumeration may still occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires crafting specific requests to the vulnerable endpoint. No public exploit code is available at this time.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.2.37 or later

Vendor Advisory: https://huntr.com/bounties/89f1158d-4a75-4000-a1bd-f82dd1a62bff

Restart Required: No

Instructions:

1. Update fastchat to version 0.2.37 or later using pip: pip install --upgrade fschat>=0.2.37
2. Verify the update completed successfully
3. No service restart required for pip installations

🔧 Temporary Workarounds

Network Segmentation

all

Restrict outbound network access from the fastchat server to prevent SSRF attacks from reaching internal resources.

Endpoint Restriction

all

Block or restrict access to the /queue/join endpoint if not required for functionality.

🧯 If You Can't Patch

  • Implement strict egress filtering to block outbound requests from the fastchat server to internal networks and AWS metadata endpoints.
  • Deploy a web application firewall (WAF) with SSRF protection rules to detect and block malicious requests.

🔍 How to Verify

Check if Vulnerable:

Check if fastchat version is 0.2.36 by examining package version or running: python -c "import fschat; print(fschat.__version__)"

Check Version:

python -c "import fschat; print(fschat.__version__)"

Verify Fix Applied:

Verify fastchat version is 0.2.37 or higher using the same command. Test the /queue/join endpoint with controlled SSRF payloads to confirm remediation.

📡 Detection & Monitoring

Log Indicators:

  • Unusual outbound requests from fastchat server to internal IP ranges
  • Requests to AWS metadata endpoint (169.254.169.254)
  • Abnormal patterns in /queue/join endpoint access logs

Network Indicators:

  • Outbound connections from fastchat server to unexpected internal services
  • Requests to cloud metadata services from application servers

SIEM Query:

source="fastchat" AND (url_path="/queue/join" AND (dst_ip=169.254.169.254 OR dst_ip IN [10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16]))

🔗 References

📤 Share & Export