Description
Chainlit versions prior to 2.9.4 contain a server-side request forgery (SSRF) vulnerability in the /project/element update flow when configured with the SQLAlchemy data layer backend. An authenticated client can provide a user-controlled url value in an Element, which is fetched by the SQLAlchemy element creation logic using an outbound HTTP GET request. This allows an attacker to make arbitrary HTTP requests from the Chainlit server to internal network services or cloud metadata endpoints and store the retrieved responses via the configured storage provider.
Problem types
CWE-918 Server-Side Request Forgery (SSRF)
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/...emy-data-layer-ssrf-via-project-element