Skip to main content

LibreChat CVE-2025-66451

MEDIUM
Improper Input Validation (CWE-20)
2025-12-11 security-advisories@github.com
5.3
CVSS 4.0 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate and reach prompt group endpoint
  2. Exploit
    Craft PATCH to /api/prompts/groups/:groupId
  3. Execution
    Inject unfiltered sensitive fields (author, _id, productionId)
  4. Impact
    Modify prompt group beyond intended UI limits

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
Exploitation Conditions

Exploitation requires sending a PATCH to /api/prompts/groups/:groupId on LibreChat version 0.8.0 or below, where patchPromptGroup forwards req.body to updatePromptGroup() without field filtering. The vendor fix tests grant PROMPTGROUP_OWNER permission before exercising the endpoint, indicating the realistic prerequisite is an authenticated user with write/owner access to the target prompt group. Limiting factors: affected versions only (fixed in 0.8.1); the attacker must be able to reach and patch a prompt group. Note the vendor vector lists PR:N (unauthenticated) and UI:P, which conflicts with the permission-gated test setup - confirm the true authentication requirement with the vendor.

Impact

This is a genuine but moderate-severity issue, not a top-tier priority. The signals are mostly consistent on the lower end: EPSS is 0.33% (25th percentile), indicating low predicted exploitation likelihood, and the vulnerability is NOT in CISA KEV, so there is no confirmed active exploitation. Public exploit/advisory material exists (GHSA-vpqq-5qr4-655h), which raises the floor somewhat, but POC availability is a distinct signal from in-the-wild use. The core defect is a mass-assignment / improper input validation flaw (CWE-20): patchPromptGroup passed req.body directly to updatePromptGroup() without filtering, letting clients set sensitive fields (author, authorName, _id, productionId, createdAt) that the frontend never exposes. Impact is limited - modifying prompt-group metadata/ownership - consistent with the 5.3 (CVSS 4.0) 'medium' rating. A key conflict exists: the vendor CVSS vector states PR:N (unauthenticated) and UI:P, yet the vendor's own fix test suite grants PROMPTGROUP_OWNER permission before exercising the endpoint, implying an authenticated user with write access is actually required - verify the authentication precondition with the vendor before treating this as unauthenticated-reachable.

Exploit ScenarioDerived

A user of a LibreChat instance (0.8.0 or below) who can edit a prompt group sends a crafted PATCH request to /api/prompts/groups/:groupId that includes server-controlled fields such as author, _id, or productionId. Because req.body is forwarded to updatePromptGroup() without field filtering, these values are written, letting the user reassign ownership or alter prompt-group state beyond what the UI permits. Public advisory and fix detail exist (GHSA-vpqq-5qr4-655h), so the technique is documented.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 07, 2026

LibreChat 0.8.0 and earlier forwards the raw request body of PATCH /api/prompts/groups/:groupId straight into updatePromptGroup() without filtering, letting a caller set fields such as author, authorName, _id, productionId and createdAt that the front end never intends to expose. The result is a moderate-severity mass-assignment and information-disclosure issue (CWE-20; NVD CVSS 5.3), publicly available exploit code exists, and EPSS is low at 0.33% (25th percentile), so this is a genuine but moderate-severity issue rather than a top-tier priority. The vendor-released fix is LibreChat 0.8.1; note that the published CVSS 4.0 vector lists PR:N/UI:P while the vendor's own regression tests exercise the endpoint only after granting PROMPTGROUP_OWNER permission, so the true authentication requirement (likely an authenticated user with write/owner access to the target prompt group) should be confirmed with the vendor.

RemediationAI

Vendor-released patch: 0.8.1 - upgrade LibreChat to 0.8.1 or later, which introduces safeValidatePromptGroupUpdate() in PATCH /api/prompts/groups/:groupId so that unexpected properties (author, authorName, _id, productionId, createdAt) are rejected with HTTP 400, and also adds handleJsonParseError middleware to both api/server/index.js and api/server/experimental.js; the full change set is in commit https://github.com/danny-avila/LibreChat/commit/01413eea3d3c1454d32ca9704fa9640407839737 and the advisory is https://github.com/danny-avila/LibreChat/security/advisories/GHSA-vpqq-5qr4-655h. If immediate upgrade is not possible, the most direct compensating control is to block or restrict PATCH requests to /api/prompts/groups/:groupId at the reverse proxy or API gateway for all non-administrative users - the trade-off is that legitimate prompt-group editors lose the ability to rename or recategorize groups; alternatively, temporarily tighten ACL grants so only trusted owners hold PROMPTGROUP_OWNER on prompt groups, accepting the administrative overhead of re-granting later. Reducing exposure of the LibreChat API to trusted networks or behind VPN/auth-proxy limits who can reach the endpoint at all, at the cost of availability for remote users, and operators should audit prompt groups for unexpected author/authorName or productionId values as a post-compromise check since the flaw permits unauthorized modification of those fields. Because public exploit code exists, prioritise the upgrade even though EPSS is low (0.33%), and note that confirming the authentication prerequisite with the vendor is advisable given the discrepancy between the published PR:N vector and the permission-gated vendor tests.

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

LibreChat is a Node.js/Express application backed by MongoDB via Mongoose, and prompt groups are stored as PromptGroup documents protected by an ACL layer (PrincipalType/RoleType, PROMPTGROUP_OWNER roles). The vulnerable route handler patchPromptGroup in api/server/routes/prompts.js performed no schema validation and passed req.body directly to updatePromptGroup(), a classic mass-assignment pattern rooted in CWE-20 improper input validation: because the update path spread arbitrary attacker-controlled keys onto the document, a client could write fields (ownership author/authorName, document _id, productionId, createdAt) that the intended PATCH contract never allowed. The upstream fix (commit 01413eea3d3c1454d32ca9704fa9640407839737) introduces a safeValidatePromptGroupUpdate() schema check that returns HTTP 400 with structured error details for any unexpected property, and additionally registers a handleJsonParseError middleware in both api/server/index.js and api/server/experimental.js to harden JSON body parsing. The commit also adds extensive Jest tests under 'PATCH /api/prompts/groups/:groupId - Update Prompt Group Security' that explicitly assert rejection of author, authorName, _id, productionId and createdAt payloads, and those tests grant PROMPTGROUP_OWNER permission to the caller before exercising the endpoint. CPE coverage is broad and version-agnostic (cpe:2.3:a:librechat:librechat:*:*:*:*:*:*:*:*), so any deployment matching the LibreChat product CPE should be treated as in scope if running 0.8.0 or below.

Know when Librechat gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (github) PRIMARY 5.3 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.4 MEDIUM

Endpoint is permission-gated per the fix test suite so PR:L, not PR:N; no user interaction needed for a direct API call; mass assignment yields limited integrity and confidentiality impact and no availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

LibreChat is a ChatGPT clone with additional features. In versions 0.8.0 and below, when creating prompts, JSON requests are sent to define and modify the prompts via PATCH endpoint for prompt groups (/api/prompts/groups/:groupId). However, the request bodies are not sufficiently validated for proper input, enabling users to modify prompts in a way that was not intended as part of the front end system. The patchPromptGroup function passes req.body directly to updatePromptGroup() without filtering sensitive fields. This issue is fixed in version 0.8.1.

Threat Intelligence Overview

EPSS Score
0.3%
Top 75% exploitable
Prevalence
Medium
popular self-hosted open-source LLM chat app, not ubiquitous enterprise software
Exploit
POC
Public exploit code exists
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Affected Products (CPE)CVE.org

cpe:2.3:a:librechat:librechat:*:*:*:*:*:*:*:*
CVE-2024-11170 HIGH POC
8.8 Mar 20

A vulnerability in danny-avila/librechat version git 81f2936 allows for path traversal due to improper sanitization of f

CVE-2024-10361 CRITICAL POC
9.1 Mar 20

An arbitrary file deletion vulnerability exists in danny-avila/librechat version v0.7.5-rc2, specifically within the /ap

CVE-2026-22252 CRITICAL POC
9.1 Jan 12

LibreChat before v0.8.2-rc2 allows any authenticated user to execute shell commands as root inside the container through

CVE-2025-8850 HIGH POC
8.8 Oct 30

LibreChat 0.7.9 lets an authenticated user turn off two-factor authentication on their own account without supplying a v

CVE-2025-66450 HIGH POC
8.6 Dec 11

Stored cross-site scripting and tracker injection in LibreChat 0.8.0 and earlier allow a user who can create a chat to c

CVE-2025-66201 HIGH POC
8.6 Nov 29

LibreChat is a ChatGPT clone with additional features. Rated high severity (CVSS 8.6), this vulnerability is remotely ex

CVE-2025-69222 HIGH POC
8.1 Jan 07

LibreChat 0.8.1-rc2 has SSRF in the Actions feature that allows authenticated users to make the server perform requests

CVE-2024-11171 HIGH POC
7.5 Mar 20

In danny-avila/librechat version git 0c2a583, there is an improper input validation vulnerability. Rated high severity (

CVE-2025-7104 HIGH POC
7.5 Sep 29

A mass assignment vulnerability exists in danny-avila/librechat, affecting all versions. Rated high severity (CVSS 7.5),

CVE-2025-8849 HIGH POC
7.5 Oct 31

Unbounded `key` and `value` parameters on the LibreChat 0.7.9 memory API (`POST /api/memories` and `PATCH /api/memories/

CVE-2024-11173 MEDIUM POC
6.5 Mar 20

An unhandled exception in the danny-avila/librechat repository, version git 600d217, can cause the server to crash, lead

CVE-2024-10366 MEDIUM POC
6.5 Mar 20

An improper access control vulnerability (IDOR) exists in the delete attachments functionality of danny-avila/librechat

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy