chainlitPYSEC-2026-598
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 id
Medium6.5CVE-2026-22218 · Published Jan 20, 2026 · updated Jul 2, 2026
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| chainlit PyPI | < 2.9.4 | 2.9.4 |
Details and references
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 3.1
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
- Severity from
- the CVSS score
- Also known as
- CVE-2026-22218
More chainlit advisories
All| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jan 20 | Chainlit contain a server-side request forgery (SSRF) vulnerability CVE-2026-22219High7.7fixed in 2.9.4 | High7.7 | 2.9.4 |
| Jan 14 | Chainlit contains an authorization bypass vulnerability CVE-2025-68492Low4.2fixed in 2.8.5 | Low4.2 | 2.8.5 |
| Jun 22 | Chainlit contains a session hijacking vulnerability CVE-2026-56104Critical7.4fixed in 2.10.1 | Critical7.4 | 2.10.1 |
| Aug 25 | Chainlit has command injection via MCP stdio transport that allows unauthenticated remote code execution CVE-2026-45018Critical9.8fixed in 2.12.0 | Critical9.8 | 2.12.0 |
| Aug 25 | Chainlist has SSRF via MCP SSE and streamable-http transports that allows unauthenticated internal network access CVE-2026-45019High7.2fixed in 2.12.0 | High7.2 | 2.12.0 |