CVE-2024-11172

7.5 HIGH

📋 TL;DR

An unauthenticated denial-of-service vulnerability in librechat allows attackers to crash the server by sending a crafted payload. The vulnerability exists in the checkBan middleware which lacks proper error handling. All users running affected versions of librechat are impacted.

💻 Affected Systems

Products:
  • danny-avila/librechat
Versions: All versions before 0.7.6
Operating Systems: All platforms running librechat
Default Config Vulnerable: ⚠️ Yes
Notes: All deployments using the vulnerable git commit a1647d7 or earlier versions are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption with server crashes, potentially leading to extended downtime and data loss if persistent storage is affected.

🟠

Likely Case

Temporary service interruption requiring manual restart of the librechat service.

🟢

If Mitigated

Minimal impact if proper monitoring and automated restart mechanisms are in place.

🌐 Internet-Facing: HIGH - Unauthenticated remote attackers can exploit this without any credentials.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could still cause service disruption.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires sending a crafted payload but no authentication is needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.7.6

Vendor Advisory: https://github.com/danny-avila/librechat/commit/976784c01fa4cce00d4c2941801d56aed375c21b

Restart Required: Yes

Instructions:

1. Update librechat to version 0.7.6 or later using your package manager or git. 2. Restart the librechat service. 3. Verify the fix is applied.

🔧 Temporary Workarounds

Add try-catch wrapper

all

Manually add error handling to the checkBan middleware to prevent crashes

Edit the middleware file to wrap checkBan logic in try-catch block

Implement rate limiting

all

Add rate limiting to prevent repeated exploitation attempts

Configure web server or application rate limiting rules

🧯 If You Can't Patch

  • Implement network-level filtering to block suspicious payloads
  • Deploy behind a WAF with DoS protection rules

🔍 How to Verify

Check if Vulnerable:

Check if librechat version is below 0.7.6 or if the git commit is a1647d7 or earlier

Check Version:

npm list librechat || check package.json version

Verify Fix Applied:

Confirm version is 0.7.6 or later and test with payload simulation

📡 Detection & Monitoring

Log Indicators:

  • Server crash logs
  • Unhandled exception errors in middleware
  • Repeated connection failures

Network Indicators:

  • Unusual spike in requests to librechat endpoints
  • Pattern of crafted payloads

SIEM Query:

source="librechat" AND ("unhandled exception" OR "crash" OR "middleware error")

🔗 References

📤 Share & Export