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.
Problem types
CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Product status
Any version before 2.9.4
Credits
Ido Shani and Gal Zaban of Zafran Security
References
github.com/Chainlit/chainlit/releases/tag/2.9.4
www.zafran.io/...abilities-expose-data-enable-cloud-takeover
www.vulncheck.com/...arbitrary-file-read-via-project-element