LibreChat is an enhanced ChatGPT clone that supports multiple AI providers. In versions up to and including 0.8.3, the Model Context Protocol (MCP) server integration resolves ${VAR} placeholders against the server's process.env during Zod schema validation of user-supplied MCP server URLs. Any authenticated user can create a malicious MCP server configuration with a URL pointing to an attacker-controlled domain containing environment variable references, causing the LibreChat server to connect to the attacker's server and transmit critical secrets such as CREDS_KEY, CREDS_IV, JWT_SECRET, and MONGO_URI in the request URL. This enables full compromise of the installation's cryptographic materials and database credentials without requiring administrative privileges. This is patched in version 0.8.4-rc1.
Integration with Model Context Protocol (MCP) server resolves placeholders in the format ${VAR} to values of server process environment variables (process.env) during Zod schema validation for user-supplied MCP server URLs. The attacker creates a malicious MCP configuration pointing to a domain under their control, placing environment variable references in the URL. The LibreChat server connects to the attacker's server, transmitting secret variable values such as CREDS_KEY, CREDS_IV, JWT_SECRET, and MONGO_URI in the URL.
The attacker gains access to critical cryptographic secrets and database credentials, enabling complete takeover of the installation — data decryption, JWT token forgery, and direct access to MongoDB database.
Update LibreChat to version 0.8.4-rc1 or later, in which the vulnerability has been patched. After updating, perform rotation of all potentially exposed secrets: CREDS_KEY, CREDS_IV, JWT_SECRET, and MONGO_URI credentials.
LibreChat versions up to and including 0.8.3
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:NLibrechat
APPLibrechat< 0.8.4
Related vulnerabilities
LibreChat: RCE jako root przez MCP stdio transport bez walidacji poleceń
SSRF w LibreChat — brak ograniczeń funkcji Actions w domyślnej konfiguracji
LibreChat: path traversal umożliwiający usunięcie dowolnych plików
LibreChat — nieprawidłowa kontrola dostępu przy aktualizacji wiadomości
Path Traversal w LibreChat — brak walidacji ścieżek obrazów