Description
Chainlit versions prior to 2.9.4 contain an arbitrary file read vulnerability in the /project/element update flow. An authenticated client can send a custom Element with a user-controlled path value, causing the server to copy the referenced file into the attacker’s session. The resulting element identifier (chainlitKey) can then be used to retrieve the file contents via /project/file/<chainlitKey>, allowing disclosure of any file readable by the Chainlit service.
Published: 2026-01-19
Score: 7.1 High
EPSS: < 1% Very Low
KEV: No
Impact: Arbitrary File Read (Data Disclosure)
Action: Immediate Patch
AI Analysis

Impact

Chainlit versions prior to 2.9.4 allow an authenticated client to trigger an arbitrary file read by sending a custom Element with a user-controlled path value. The server copies the referenced file into the attacker’s session; the resulting element identifier can be used to retrieve the file contents via the /project/file endpoint, enabling disclosure of any file readable by the Chainlit service.

Affected Systems

Chainlit Chainlit – all releases before 2.9.4 are affected.

Risk and Exploitability

The flaw carries a CVSS score of 7.1 and a very low EPSS (<1%), indicating limited but possible exploitation. The attack requires authentication and path manipulation within the Element update flow, but once executed it yields unrestricted access to server files that the Chainlit process can read.

Generated by OpenCVE AI on April 16, 2026 at 18:03 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Chainlit to version 2.9.4 or later; the newer release eliminates the vulnerable element update logic.
  • Configure the /project/element endpoint to enforce strict path validation or a whitelist of safe directories, preventing reference to arbitrary filesystem locations.
  • Monitor and audit authenticated Element creation requests for anomalous path values, enabling rapid detection of exploitation attempts.

Generated by OpenCVE AI on April 16, 2026 at 18:03 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 02 Feb 2026 21:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:chainlit:chainlit:*:*:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N'}


Wed, 21 Jan 2026 20:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 20 Jan 2026 18:45:00 +0000


Tue, 20 Jan 2026 08:45:00 +0000

Type Values Removed Values Added
First Time appeared Chainlit
Chainlit chainlit
Vendors & Products Chainlit
Chainlit chainlit

Mon, 19 Jan 2026 23:30:00 +0000

Type Values Removed Values Added
Description Chainlit versions prior to 2.9.4 contain an arbitrary file read vulnerability in the /project/element update flow. An authenticated client can send a custom Element with a user-controlled path value, causing the server to copy the referenced file into the attacker’s session. The resulting element identifier (chainlitKey) can then be used to retrieve the file contents via /project/file/<chainlitKey>, allowing disclosure of any file readable by the Chainlit service.
Title Chainlit < 2.9.4 Arbitrary File Read via /project/element
Weaknesses CWE-22
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}


Subscriptions

Chainlit Chainlit
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-03-05T01:30:19.248Z

Reserved: 2026-01-06T17:54:14.091Z

Link: CVE-2026-22218

cve-icon Vulnrichment

Updated: 2026-01-21T19:38:20.547Z

cve-icon NVD

Status : Analyzed

Published: 2026-01-20T00:15:48.910

Modified: 2026-02-02T20:56:44.393

Link: CVE-2026-22218

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-16T18:15:43Z

Weaknesses