Skip to main content

LobeHub Chat EUVDEUVD-2026-115004

| CVE-2026-120315 HIGH
Path Traversal (CWE-22)
2026-11-02 VulnCheck GHSA-7925-2fm7-xg83
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate or self-register
  2. Delivery
    Upload file and create record with traversal filename via file.createFile
  3. Exploit
    Trigger document.parseFileContent to write payload outside tempDir
  4. Execution
    Overwrite startServer.js / config / authorized_keys
  5. Persist
    Await app or container restart
  6. Impact
    Execute arbitrary code as app user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a LobeChat server-database deployment (not the lightweight client-only mode) and an authenticated user session (CVSS PR:L). The concrete trigger is: supplying an unsanitized filename containing '../' sequences to the file.createFile tRPC procedure (which stores it in the files.name DB column), then invoking document parsing (document.parseFileContent / DocumentService.parseFile), which passes file.name unsanitized into path.join() inside writeTempFile(). Exploitation is limited to files writable by the application user, and RCE specifically requires overwriting a file that is subsequently executed/loaded (e.g. startServer.js on container restart, a dynamically loaded Node module, or a cron/SSH file) - so code execution is not instantaneous and may depend on a restart or load event. Limiting factors: valid authentication is needed, though this is substantially weakened in multi-tenant deployments (any tenant user can reach RCE/DoS) and in deployments with self-registration enabled (attacker registers to obtain the required session).

Impact

This is a genuine high-priority issue, not an inflated high-CVSS score. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) describes a network-reachable, low-complexity attack requiring only low privileges (PR:L = an authenticated user) with no user interaction and full compromise of confidentiality, integrity and availability - consistent with the described path-traversal arbitrary file write leading to RCE/DoS. The vuln.today decision label is 'this_week', reported by VulnCheck, which aligns with a serious but authentication-gated flaw rather than an emergency mass-exploitation event. No EPSS score and no CISA KEV status were provided, so there is no signal of confirmed active exploitation or statistically modeled exploitation probability; absence of these is not evidence of safety. A detailed public PoC (step-by-step HTTP requests plus a video) is published in the GitHub Security Advisory, which materially raises practical exploitability. The main mitigating factor is the PR:L authentication requirement, but the advisory notes this collapses in multi-tenant deployments (any user can reach RCE) and effectively disappears where self-registration is enabled (attacker registers, then exploits). Net: real priority for server-database LobeChat deployments, especially multi-tenant or open-registration ones.

Exploit ScenarioDerived

An authenticated user (or, where self-registration is enabled, an attacker who simply registers) uploads a file, then calls file.createFile with a filename set to a path-traversal payload such as '../../../../../../app/startServer.js' and triggers document parsing, causing writeTempFile() to overwrite that application file with attacker-controlled content; on the next container/app restart the malicious code executes, yielding RCE (or a permanent crash loop for DoS). A detailed public PoC including HTTP requests and a video demonstration is published in the GitHub Security Advisory, making this straightforward to reproduce.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Nov 02, 2026

Path traversal in LobeHub Chat (npm @lobehub/chat, versions 1.84.26 through 2.1.48) lets any authenticated user write arbitrary files with attacker-controlled content: the file.createFile tRPC procedure stores an unsanitized name containing '../' sequences in the files.name database column, and a later document-parse call feeds that value into path.join() inside writeTempFile(). Because the write primitive is unrestricted within the application user's permissions, an attacker can overwrite an executed file such as startServer.js and gain code execution after a container restart, or corrupt critical application files to cause persistent crash loops and denial of service; multi-tenant deployments are the highest risk since any tenant user reaches this path, and self-registration turns it into an effectively unauthenticated attack. A detailed public proof-of-concept, including a demonstration video, is published in the project's GitHub security advisory; the issue is not listed in CISA KEV and no confirmed active exploitation has been reported, and the vendor shipped a fix in 2.1.49.

RemediationAI

Vendor-released patch: LobeHub Chat 2.1.49 (npm @lobehub/chat); upgrade every deployment in the 1.84.26 through 2.1.48 range to 2.1.49 or later, per https://github.com/lobehub/lobehub/security/advisories/GHSA-2g9j-v25c-4j97. The advisory does not document a code-level workaround, so updating is the complete fix; note that a restart is part of the exploit chain the advisory demonstrates, so patch and restart containers rather than assuming a running instance is clean. Where an immediate upgrade is not possible, the exposure the advisory itself identifies can be narrowed: because any authenticated user can exploit this, deployments with self-registration enabled are effectively unauthenticated targets and should close open registration so only trusted accounts hold sessions, and multi-tenant operators should treat every tenant account as a potential RCE source until 2.1.49 is deployed. The trade-off is that disabling self-registration blocks legitimate new user signups and does not remove the flaw for existing accounts. Reviewing the files table for stored names containing '../' or absolute paths and confirming that application-critical files such as startServer.js have not been modified would help detect prior exploitation, though the advisory does not specify such a check as remediation.

Affected VersionsENISA

Chat 1.84.26 <2.1.49

Affected Packages

euvd chat fix: 2.1.49

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

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

Technical ContextAI · show details

The flaw is CWE-22 (path traversal) arising from an unsanitized filename flowing into a filesystem API, with the advisory additionally classifying it as CWE-73 (external control of file name or path), CWE-94 (code injection through a written file that is later executed) and CWE-754. In src/server/utils/tempFileManager.ts, writeTempFile() computes the destination as join(this.tempDir, name) and immediately calls writeFileSync(); because path.join() normalizes '..' segments, a name such as ../../../../app/startServer.js escapes the temp directory entirely. The name value is not attacker-invented at write time but persisted earlier: the file.createFile tRPC procedure (src/server/routers/lambda/file.ts) copies input.name straight into the files.name column, so the malicious string survives in the database until it is consumed. The sink is reached through the document pipeline: DocumentService.parseFile() or parseDocument() (src/server/services/document/index.ts) calls FileService.downloadFileToLocal() (src/server/services/file/index.ts), which loads the file record, builds a TempFileManager and passes file.name into writeTempFile(). Only the write is performed by the traversal itself; code execution is second-order and requires the overwritten path to be executed or loaded afterwards, as the advisory illustrates with startServer.js and a container restart, and as it notes for dynamically loaded Node modules, cron entries, SSH authorized_keys, web-accessible directories and mounted host volumes. The write is bounded by the filesystem permissions of the application user, and the whole path is only present in server-database deployments, not lightweight client-only configurations.

Know when Lobehub 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 (VulnCheck) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable tRPC endpoints with low complexity; PR:L because an authenticated session is required; arbitrary file write yields full C/I/A impact via RCE/DoS, scope unchanged.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Nov 02, 2026 - 04:16 EUVD
CVE Published
Nov 02, 2026 - 02:01 cve.org
HIGH 8.7

DescriptionCVE.org

LobeHub Chat from 1.84.26 before 2.1.49 contains a path traversal vulnerability that allows authenticated users to write arbitrary files by supplying unsanitized file names to writeTempFile(). Attackers can create a file record via file.createFile with a traversal name, then trigger document parsing to overwrite application files like startServer.js for code execution or denial of service.

Technical POC Analysis

CWE-22 (Improper Limitation of a Pathname to a Restricted Directory).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-120315 is a high-severity path traversal vulnerability in LobeHub Chat (npm @lobehub/chat versions 1.84.26 through 2.1.48) that allows any authenticated user-and in self-registration deployments, effectively any user-to write arbitrary files and potentially achieve code execution or cause persistent denial of service. Multi-tenant environments are at highest risk, and leadership should prioritize remediation because a public proof-of-concept (including a demonstration video) is already available, enabling rapid exploitation by malicious actors.

Business Impact: High
Compensating Controls

Disable self-registration; restrict file system permissions; implement strict input validation on file names; monitor for anomalous file writes; network segmentation to limit exposure.

Threat Intelligence Overview

EPSS Score
0.4%
Top 62% exploitable
Prevalence
Medium
popular open-source AI chat app, but self-hosted server-database mode less universal
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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

CVE-2024-32964 CRITICAL POC
9.0 May 14

Lobe Chat is a chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.

CVE-2024-47066 HIGH POC
8.8 Sep 23

Lobe Chat is an open-source artificial intelligence chat framework. Rated high severity (CVSS 8.8), this vulnerability i

CVE-2024-32965 HIGH POC
8.6 Nov 26

Lobe Chat is an open-source, AI chat framework. Rated high severity (CVSS 8.6), this vulnerability is remotely exploitab

CVE-2026-59095 HIGH POC
8.3 Jul 02

Server-side request forgery in LobeChat before 2.2.10-canary.18 lets authenticated users coerce the server into issuing

CVE-2026-58578 HIGH POC
7.1 Jul 02

Denial of service in LobeChat before 2.2.10-canary.15 lets an authenticated user hang the entire Node.js server by impor

CVE-2026-59098 HIGH POC
7.1 Jul 02

Cross-user data disclosure in LobeChat through version 2.2.9 allows any authenticated user to read other users' document

CVE-2024-37895 MEDIUM POC
5.7 Jun 17

Lobe Chat is an open-source LLMs/AI chat framework. Rated medium severity (CVSS 5.7), this vulnerability is remotely exp

CVE-2024-24566 MEDIUM POC
5.3 Jan 31

Lobe Chat is a chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system.

CVE-2025-59426 MEDIUM POC
4.3 Sep 25

Lobe Chat is an open-source artificial intelligence chat framework. Rated medium severity (CVSS 4.3), this vulnerability

CVE-2026-72594 HIGH
7.6 Aug 10

Stored XSS in lobehub/lobe-chat through v2.2.13 allows a low-privileged authenticated user to persist malicious JavaScri

CVE-2026-85621 MEDIUM
6.9 Sep 04

Webhook signature verification bypass in LobeChat 2.2.1 allows unauthenticated remote attackers to inject forged inbound

CVE-2026-59100 LOW POC
2.3 Jul 02

Broken object level authorization in LobeChat through version 2.2.9 permits authenticated users to read and manipulate c

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