Skip to main content

AnythingLLM CVE-2026-45403

| EUVDEUVD-2026-33067 LOW
Improper Link Resolution Before File Access (CWE-59)
2026-05-28 GitHub_M
2.5
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as high-privilege AnythingLLM user
  2. Delivery
    Place symlink inside agent-accessible source directory targeting sensitive file outside sandbox
  3. Exploit
    Invoke agent filesystem copy tool on the source directory
  4. Execution
    Recursive helper calls fs.stat() which resolves symlink to external file
  5. Persist
    fs.copyFile() reads and copies external file contents to agent-accessible destination
  6. Impact
    Read exfiltrated file contents via AnythingLLM interface

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Exploitation requires a high-privilege authenticated AnythingLLM account (PR:H per CVSS vector) - unauthenticated or low-privilege users cannot trigger the agent filesystem copy tool. The attacker must also have the ability to place a symbolic link inside a directory within the agent's permitted source path, and must actively invoke the copy operation (UI:R). The agent filesystem feature must be enabled in the deployment configuration. The vulnerability is read-only - it does not permit writing, modifying, or deleting files outside the sandbox (I:N/A:N), limiting exposure to confidential file contents. Exploitation is further bounded by host OS filesystem permissions: only files readable by the AnythingLLM process account are reachable via symlink traversal. Deployments where the process runs as a restricted OS user with access only to application-specific directories face minimal exposure even if exploited.

Impact

The CVSS 2.0 score with vector AV:N/AC:H/PR:H/UI:R/S:U/C:L/I:N/A:N reflects a tightly constrained threat profile. Three independent CVSS factors substantially limit real-world exploitability: the attacker must hold a high-privilege account (PR:H), the attack complexity is high (AC:H - requiring the ability to place a symlink in an agent-accessible directory), and user interaction is required (UI:R - the copy operation must be actively invoked). The impact is limited to partial confidentiality (C:L) with no integrity or availability effect. No EPSS score was included in the provided intelligence, and the vulnerability does not appear in the CISA KEV catalog, indicating no confirmed active exploitation. The primary risk scenario is insider threat or compromised high-privilege credential abuse rather than external attack. Risk is elevated relative to the raw score only in multi-tenant deployments where high-privilege AnythingLLM agent access is shared among mutually untrusted users and where the application process has filesystem access to sensitive files (e.g., .env files, SSH keys, TLS certificates) outside the agent sandbox root. Single-user or tightly access-controlled deployments face very low practical risk.

Exploit ScenarioDerived

A high-privilege AnythingLLM user with agent filesystem access creates a symbolic link inside a directory the agent is permitted to copy from - for example, linking a file named secrets.txt inside the allowed source directory to /opt/anythingllm/.env on the host. The user then invokes the agent copy tool targeting that source directory; the recursive helper descends into the symlink entry, fs.stat() resolves it to the external .env file, and fs.copyFile() materializes the environment file's contents into an agent-accessible destination as a regular file. The user reads the exfiltrated credentials through the AnythingLLM interface, bypassing the intended filesystem sandbox. No public exploit code has been identified at time of analysis.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – May 28, 2026

Symlink following in the AnythingLLM agent filesystem copy tool (versions prior to 1.13.0) allows a highly-privileged authenticated user to read files outside the configured filesystem sandbox by placing a symbolic link inside an agent-accessible source directory. The recursive copy helper validates only top-level paths, then descends into child entries using Node.js fs.stat() and fs.copyFile(), both of which transparently follow symlinks - silently redirecting reads to targets outside the allowed root and materializing their contents in an accessible destination. No public exploit code has been identified and the vulnerability is not listed in the CISA KEV catalog; the CVSS score of 2.0 reflects that exploitation is constrained to high-privilege accounts with high complexity and required user interaction.

RemediationAI

The primary fix is upgrading AnythingLLM to version 1.13.0, which resolves the vulnerability by replacing fs.stat() with fs.lstat() in the recursive copy helper and adding an explicit guard that rejects symbolic links encountered during agent copy operations. The patch is documented in GitHub Security Advisory GHSA-vjrp-43mm-j7vw (https://github.com/Mintplex-Labs/anything-llm/security/advisories/GHSA-vjrp-43mm-j7vw) and directly visible in commit 21ce03087145a4261c1de03b056fba639f699c09 (https://github.com/Mintplex-Labs/anything-llm/commit/21ce03087145a4261c1de03b056fba639f699c09). As a compensating control prior to patching, administrators should disable the agent filesystem copy capability entirely if it is not operationally required - this eliminates the attack surface with no impact on core LLM chat functionality. Where the feature must remain active, restrict agent filesystem tool access to the minimum set of accounts with a genuine operational need, audit agent-accessible source directories for any pre-existing symbolic links, and ensure the AnythingLLM process runs under an OS account with the narrowest possible filesystem permissions to reduce the set of sensitive files reachable via symlink traversal.

Affected VersionsENISA

anything-llm < 1.13.0

Affected Packages

euvd anything_llm fix: 1.13.0

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

AnythingLLM (CPE: cpe:2.3:a:mintplex-labs:anything-llm:*:*:*:*:*:*:*:*) is a Node.js application that exposes AI agents with optional filesystem capabilities. The vulnerable component is server/utils/agents/aibitat/plugins/filesystem/copy-file.js. The root cause maps to CWE-59 (Improper Link Resolution Before File Access - 'Link Following'): the recursive copy helper called fs.stat() on each child entry before copying it with fs.copyFile(). In Node.js, fs.stat() resolves symbolic links and returns metadata for the link target rather than the link itself, and fs.copyFile() copies the resolved target's contents - neither API surfaces the fact that a symlink was traversed. A symlink planted anywhere inside the allowed source tree can therefore redirect the copy operation to arbitrary files on the host filesystem, including secrets and credentials. The confirmed fix in commit 21ce03087145a4261c1de03b056fba639f699c09 replaces fs.stat() with fs.lstat(), which reports metadata for the link node itself rather than its target, and inserts an explicit guard that throws an error and aborts the copy if any entry is identified as a symbolic link.

Know when Anything Llm 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

NVD PRIMARY 2.5 LOW
AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
CVSS changed
Jul 21, 2026 - 10:22 NVD
2.0 (LOW) 2.5 (LOW)
Patch available
May 28, 2026 - 23:02 EUVD

DescriptionNVD

AnythingLLM is an application that turns pieces of content into context that any LLM can use as references during chatting. Prior to 1.13.0, the AnythingLLM agent filesystem copy tool validates only the top-level source and destination paths. The recursive copy helper then descends into child entries using fs.stat() and copies files with fs.copyFile() without validating each child or rejecting symlinks. Because both APIs follow symlinks, a symlink nested inside an allowed source directory can point outside the allowed filesystem root and cause outside file contents to be copied into an allowed destination as a regular file. This vulnerability is fixed in 1.13.0.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 LOW
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

12
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +12
PoC: 0
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.

CVE-2023-4899 HIGH POC
8.8 Sep 12

SQL Injection in GitHub repository mintplex-labs/anything-llm prior to 0.0.1. Rated high severity (CVSS 8.8), this vulne

CVE-2023-4898 HIGH POC
7.5 Sep 12

Authentication Bypass by Primary Weakness in GitHub repository mintplex-labs/anything-llm prior to 0.0.1. Rated high sev

CVE-2026-32626 CRITICAL
9.6 Mar 13

XSS in AnythingLLM 1.11.1 and earlier.

CVE-2026-48116 HIGH
8.8 May 28

Argument-injection command execution in Mintplex Labs AnythingLLM before 1.13.0 lets an attacker who can chat with an ag

CVE-2026-32628 HIGH
7.7 Mar 13

SQL injection in AnythingLLM versions 1.11.1 and earlier enables authenticated users to execute arbitrary SQL commands a

CVE-2026-32617 HIGH
7.1 Mar 13

AnythingLLM versions 1.11.1 and earlier contain an authentication bypass vulnerability on default installations where th

CVE-2026-88055 MEDIUM
5.5 Sep 10

Stored XSS in AnythingLLM 1.16.1 and earlier enables a manager-role user to inject arbitrary JavaScript into the applica

CVE-2026-41318 MEDIUM
5.4 Apr 24

Stored DOM-level XSS in AnythingLLM's chart caption rendering allows authenticated users in shared workspaces to inject

CVE-2026-48789 MEDIUM
4.3 Jun 24

Path traversal in AnythingLLM's document folder listing endpoint on Windows allows authenticated low-privilege users to

CVE-2026-47713 MEDIUM
4.3 May 28

Stale mobile device tokens in AnythingLLM survive single-user to multi-user mode migration with a null userId, allowing

CVE-2026-42456 MEDIUM
4.3 May 08

The text-to-speech endpoint in AnythingLLM prior to v1.12.1 exposes an Insecure Direct Object Reference (IDOR) allowing

CVE-2026-32719 MEDIUM
4.2 Mar 13

AnythingLLM versions 1.11.1 and earlier contain a Zip Slip path traversal vulnerability in the community plugin import f

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