CVE-2026-22219 json
Chainlit < 2.9.4 SQLAlchemy Data Layer SSRF via /project/element
published 2026-01-19 9 mo ago modified 2026-11-08 25 h ago also EUVD-2026-3347 , GHSA-2g59-m95p-pgfq , PYSEC-2026-1237
- cvss
- 7.7
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 5.2%
- EPSS 5.2% chance of exploitation in 30 days, percentile 92%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi chainlit 2.9.4
- Chainlit Chainlit 2.9.4
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 9 mo ago
Exploit prediction
5.17% chance of exploitation in the next 30 days, higher than 92% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- zafran.io https://www.zafran.io/resources/chainleak-critical-ai-framework-vulnerabilities-expose-data-enable-cloud-takeover referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N |
| GitHub | 3.1 | 7.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
| CNA | 4.0 | 8.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
| OSV | 3.1 | 7.7 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | chainlit | <2.9.4 |
2.9.4 |
Affected products
- Chainlit Chainlit
Classification
- Weakness
-
- CWE-918 Server-Side Request Forgery
References
-
github.com
/Chainlit/chainlit/releases/tag/2.9.4
release-notes, patch, web, product
-
github.com
/Chainlit/chainlit/commit/ffc3cce648b343b933e10e85ee5805c7e02ab3bf
web
-
zafran.io
/resources/chainleak-critical-ai-framework-vulnerabilities-expose-data-enable-cloud-takeover
technical-description, exploit, web, mitigation, third-party-advisory
-
vulncheck.com
/advisories/chainlit-sqlalchemy-data-layer-ssrf-via-project-element
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-22219
advisory
-
github.com
/Chainlit/chainlit
package
-
pypi.org
/project/chainlit
package
-
github.com
/advisories/GHSA-2g59-m95p-pgfq
advisory
Sources
- CVE List CVE-2026-22219
- GitHub Advisory GHSA-2g59-m95p-pgfq
- NVD CVE-2026-22219
- OSV PYSEC-2026-1237
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.