---
id: CVE-2026-22218
title: Chainlit < 2.9.4 Arbitrary File Read via /project/element
summary: >-
  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
  refere…
severity: high
cvss: 7.1
cvssVector: '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'
cvssSource: cna
cwe:
  - CWE-22
vendor: Chainlit
product: Chainlit
affected:
  - Chainlit < 2.9.4
ssvc:
  exploitation: poc
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-01-21T19:37:14.195072Z'
exploitAvailable: true
published: '2026-01-19'
updated: '2026-11-08'
sourceUpdated: '2026-11-08T14:01:12.271Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-22218'
references:
  - url: 'https://github.com/Chainlit/chainlit/releases/tag/2.9.4'
    label: Chainlit 2.9.4 Release Notes
  - url: >-
      https://www.zafran.io/resources/chainleak-critical-ai-framework-vulnerabilities-expose-data-enable-cloud-takeover
  - url: >-
      https://www.vulncheck.com/advisories/chainlit-arbitrary-file-read-via-project-element
tags:
  - cve.org
  - exploit-available
epss: 0.09724
epssPercentile: 0.95549
ingestedAt: '2026-11-08T14:51:22.477Z'
---

## Overview

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.

## Affected

- `Chainlit < 2.9.4`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
