Chainlit < 2.9.4 Arbitrary File Read via /project/element
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Information disclosure
- Confidentiality · integrity · availability
- High · None · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-22 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA Chainlit (Chainlit) Fixed in 2.9.4
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
Chainlit 2.9.4
2 records Highest priority Priority MEDIUM 2 MEDIUM
Other records, highest priority first
- TI-2026-17829 Chainlit < 2.9.4 SQLAlchemy Data Layer SSRF via /project/elementPriority MEDIUM 50
Timeline
- 2026-10-02 Threatist record created from CVE-2026-22218
- 2026-10-03 Alias added: GHSA-gm79-2pvc-wc75
References
More Chainlit vulnerabilities
- TI-2026-17829 Chainlit < 2.9.4 SQLAlchemy Data Layer SSRF via /project/element CVSS 4.0HIGH 8.3
Sources
- CVE-2026-22218 · CVE Program
- CVE-2026-22218 · NVD
- FIRST EPSS
- GHSA-gm79-2pvc-wc75 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences