CVE-2025-7106
MediumCVSS 5.3Exploitation Probability (EPSS)
Low risk19th percentile - higher than 19% of all known CVEs
Summary
LibreChat contains an authorization bypass vulnerability due to improper access control checks. The checkAccess function uses permissions.some(), granting access when only one of multiple required permissions is present — a USER role can create agents despite lacking CREATE permission.
Risk Assessment
Low-privileged users can perform operations reserved for administrators, such as creating agents or modifying prompts. This may lead to unauthorized configuration changes and security policy violations.
Recommendation
Update LibreChat to a version containing the fix in api/server/middleware/roles/access.js. Until then, consider restricting user roles and auditing permissions.
Other vulnerabilities in LibreChat
See all- CVE-2026-32625Critical
LibreChat up to version 0.8.3 has a vulnerability in the MCP server integration that resolves ${VAR} placeholders from process.env during Zod schema validation of user-supplied MCP URLs. An authenticated user can create a malicious MCP configuration that sends critical secrets (CREDS_KEY, CREDS_IV, JWT_SECRET, MONGO_URI) to an attacker-controlled server.
- CVE-2026-22252Critical
LibreChat prior to v0.8.2-rc2 has a vulnerability in the MCP stdio transport that accepts arbitrary commands without validation, allowing any authenticated user to execute shell commands as root inside the container through a single API request. This vulnerability is fixed in v0.8.2-rc2.
- CVE-2025-69222Critical
LibreChat version 0.8.1-rc2 is prone to SSRF due to missing restrictions in the Actions feature by default. Agents can access internal services like the RAG API in the default Docker Compose setup.
- CVE-2026-54040Medium
A vulnerability in LibreChat prior to 0.8.4-rc1 allows an attacker with a stolen session token to regenerate all 2FA backup codes without requiring any TOTP token or existing backup code. This enables bypassing 2FA login or disabling 2FA entirely.
- CVE-2026-54037Medium
A vulnerability in LibreChat prior to 0.8.4-rc1 allows an authenticated user to bypass rate limiters added for the /fork endpoint by using the /duplicate endpoint, which performs the same expensive database operations but lacks any rate limiter. This can lead to server resource exhaustion.
- CVE-2026-54033High
LibreChat before version 0.8.4-rc1 allows authenticated users to set a custom URL for OpenAI-compatible API endpoints. This URL is used to construct HTTP requests without any SSRF validation, enabling traffic to be directed to internal network addresses.
- CVE-2026-54030High
A vulnerability in LibreChat before version 0.8.5 allows a malicious MCP server to steal access tokens intended for a legitimate server. The MCP OAuth implementation does not validate that the resource parameter from OAuth Protected Resource metadata (RFC 9728) matches the configured MCP server URL.
- CVE-2026-54029Medium
A vulnerability in LibreChat before version 0.8.4-rc1 allows any authenticated user to delete any other user's messages. The delete endpoint lacks a user constraint, enabling an attacker to use their own conversation ID and the victim's message ID to permanently remove messages.
- CVE-2026-54025Medium
LibreChat prior to version 0.8.4-rc1 has a vulnerability due to missing HTML escaping of double-quote characters in image alt text in Markdown. An attacker can inject malicious HTML code that executes in the victim's browser.
- CVE-2026-54024Medium
A vulnerability in LibreChat before version 0.8.4-rc1 allows an authenticated user to upload arbitrarily large files via the conversation import endpoint, potentially exhausting server disk space and memory. The issue stems from missing file size limits in a separate multer instance for this endpoint and a disabled application-level size check by default.
Original NVD description (English source)
danny-avila/librechat is affected by an authorization bypass vulnerability due to improper access control checks. The `checkAccess` function in `api/server/middleware/roles/access.js` uses `permissions.some()` to validate permissions, which incorrectly grants access if only one of multiple required permissions is present. This allows users with the 'USER' role to create agents despite having `CREATE: false` permission, as the check for `['USE', 'CREATE']` passes with just `USE: true`. This vulnerability affects other permission checks as well, such as `PROMPTS`. The issue is present in all versions prior to the fix.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

