Medium severity · published Jan 19, 2026
CVE-2026-22218
Chainlit < 2.9.4 Arbitrary File Read via /project/element
6.5
CVSS
9.7%
EPSS
No
On KEV
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.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Attack vector
Network
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)9.7% · higher than 95% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CH
Chainlit · Chainlit
before 2.9.4 · source: vendor, NVD
Affected product
CH
Chainlit
Chainlit
More from Chainlit
9.8
CVE-2026-45018
Chainlit: Command injection via MCP stdio transport allows unauthenticated remote code execution
8.2
CVE-2026-86099
Chainlit through 2.12.0 Path Traversal via socket.io sessionId
8.2
CVE-2026-56104
Chainlit < 2.10.1 Session Hijacking via WebSocket Session Restoration
7.7
CVE-2026-22219
Chainlit < 2.9.4 SQLAlchemy Data Layer SSRF via /project/element
7.2
CVE-2026-45019
Chainlit: SSRF via MCP SSE and streamable-http transports allows unauthenticated internal network access