Skip to content
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

Source advisory

Affected versions

PackageAffectedFixed in
chainlit
PyPI
< 2.9.42.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
DateAdvisory
Jan 20Chainlit contain a server-side request forgery (SSRF) vulnerability
CVE-2026-22219High7.7fixed in 2.9.4
Jan 14Chainlit contains an authorization bypass vulnerability
CVE-2025-68492Low4.2fixed in 2.8.5
Jun 22Chainlit contains a session hijacking vulnerability
CVE-2026-56104Critical7.4fixed in 2.10.1
Aug 25Chainlit has command injection via MCP stdio transport that allows unauthenticated remote code execution
CVE-2026-45018Critical9.8fixed in 2.12.0
Aug 25Chainlist has SSRF via MCP SSE and streamable-http transports that allows unauthenticated internal network access
CVE-2026-45019High7.2fixed in 2.12.0

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.