{"id":"CVE-2026-22218","summary":"Chainlit \u003c 2.9.4 Arbitrary File Read via /project/element","details":"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/\u003cchainlitKey\u003e, allowing disclosure of any file readable by the Chainlit service.","aliases":["PYSEC-2026-598"],"modified":"2026-08-12T03:51:30.732868221Z","published":"2026-01-19T23:14:52.969Z","database_specific":{"cwe_ids":["CWE-22"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22218.json","cna_assigner":"VulnCheck"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22218.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-22218"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/chainlit-arbitrary-file-read-via-project-element"},{"type":"FIX","url":"https://github.com/Chainlit/chainlit/releases/tag/2.9.4"},{"type":"PACKAGE","url":"https://github.com/Chainlit/chainlit"},{"type":"EVIDENCE","url":"https://www.zafran.io/resources/chainleak-critical-ai-framework-vulnerabilities-expose-data-enable-cloud-takeover"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/chainlit/chainlit","events":[{"introduced":"0"},{"fixed":"ffc3cce648b343b933e10e85ee5805c7e02ab3bf"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"2.9.4"}],"source":["AFFECTED_FIELD","CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:chainlit:chainlit:*:*:*:*:*:*:*:*"}}],"versions":["2.9.3","2.9.2","2.9.1","2.9.0","2.8.5","2.8.4","2.8.3","2.8.2","2.8.1","2.8.0","2.7.2","2.7.1.1","2.7.1","2.7.0","2.6.9","2.6.8","2.6.7","2.6.6","2.6.5","2.6.4","2.6.3","2.6.2","2.6.1","2.6.0","2.5.5","2.4.400","2.4.302","2.4.301","2.4.3","2.4.201","2.4.2","2.4.1","2.4.0","2.4.0rc0","2.3.0","2.2.1","2.2.0","2.1.2","2.1.1","2.1.0","2.0.603","2.0.602","2.0.601","2.0.6","2.0.5","2.0.4","2.0.3","2.0.2","2.0.1","2.0.0","2.0rc1","2.0.dev2","2.0dev1","1.3.0rc0","2.0.dev0","1.2.0","1.1.404","1.1.403rc0","1.1.402","1.1.401","1.1.400","1.1.400rc1","1.1.400rc0","1.1.306-fix","1.1.306","1.1.305","1.1.304","1.1.303","1.1.302","1.1.301","1.1.300","1.1.300rc5","1.1.300rc4","1.1.300rc3","1.1.300rc2","1.1.300rc1","1.1.300rc0","1.1.202","1.1.201","1.1.200","1.1.101","1.1.0","1.1.0rc1","1.1.0rc0","1.0.506","1.0.505","1.0.504","1.0.503","1.0.502","1.0.501","1.0.500","1.0.401","1.0.400","1.0.301","1.0.300","1.0.200","1.0.101","1.0.100","1.0.0","1.0.0rc3","1.0.0rc2","1.0.0rc1","1.0.0rc0","0.7.700","0.7.604","0.7.604rc2","0.7.604rc1","0.7.604rc0","0.7.603","0.7.602","0.7.602rc0","0.7.601rc0","0.7.600rc1","0.7.600rc0","0.7.501","0.7.500","0.7.400","0.7.301","0.7.3","0.7.2","0.7.1","0.7.0","0.6.402","0.6.401","0.6.4","0.6.3","0.6.2","0.6.1","0.6.0","0.5.2","0.5.1","0.5.0","0.4.3","0.4.2","0.4.101","0.4.1","0.4.0","0.3.0","0.2.111","0.2.110","0.2.109","0.2.108","0.2.107","0.2.106","0.2.105","0.2.104","0.2.103","0.2.102","0.2.101","0.2.1","0.2.0","0.1.103","0.1.102","0.1.101","0.1.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22218.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"}]}