Vulnerability · Published Jan 19, 2026 · Assigned by VulnCheck
CVE-2026-22218Chainlit < 2.9.4 Arbitrary File Read via /project/element
High 7.1
In plain English
A high-severity path traversal in Chainlit from Chainlit. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 9.7% (higher than 96% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| PyPI | chainlit | 2.9.4 | PYSEC-2026-598 |
Affected products (as reported)
Weakness: CWE-22 · 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
References
- https://github.com/Chainlit/chainlit/releases/tag/2.9.4 release-notes, patch
- https://www.zafran.io/resources/chainleak-critical-ai-framework-vulnerabilities-expose-data-enable-cloud-takeover technical-description, exploit
- https://www.vulncheck.com/advisories/chainlit-arbitrary-file-read-via-project-element third-party-advisory