CVE-2026-22219: Chainlit SSRF in project element update flow

CVE-2026-22219 · Severity: high · CVSS 7.7 · Published 2026-01-20

Chainlit is an open-source framework used to build conversational AI applications and user interfaces. A security vulnerability exists where an authenticated user can force the server to make unauthorized requests to internal systems or cloud metadata services. This could allow an attacker to access sensitive internal data, leak cloud environment credentials, or interact with private services that are not intended to be exposed to the internet.

Technologies: Chainlit, chainlit (PyPI). Vendors: Chainlit, PyPI.

Quick answers

Is CVE-2026-22219 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-22219 being exploited in the wild.
How severe is CVE-2026-22219?
High severity, with a CVSS score of 7.7, published 20 January 2026.
Which products and versions are affected?
Chainlit < 2.9.4; chainlit (PyPI) ECOSYSTEM:introduced=0,fixed=2.9.4.
Is there a fix for CVE-2026-22219?
Yes. chainlit (PyPI): upgrade to 2.9.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-22219 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-22219?
Check whether you run Chainlit or chainlit (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • chainlit (PyPI): upgrade to 2.9.4 or later
    pip install "chainlit>=2.9.4"

Technical details

A Server-Side Request Forgery (SSRF) vulnerability exists in Chainlit's '/project/element' update flow when the SQLAlchemy data layer backend is enabled. The vulnerability occurs because the SQLAlchemy element creation logic fetches a user-provided URL via an outbound HTTP GET request without sufficient validation. An authenticated attacker can exploit this to perform arbitrary HTTP requests from the Chainlit server, targeting internal network services or cloud provider metadata endpoints (e.g., IMDS). The retrieved responses can then be stored via the configured storage provider, allowing the attacker to exfiltrate sensitive information. The issue is fixed in version 2.9.4 by adding sanitization for custom thread element updates.

Affected products

  • Chainlit Chainlit < 2.9.4

Identifiers

  • CVE-2026-22219
  • GHSA-2g59-m95p-pgfq
  • PYSEC-2026-1237

Timeline

  • 2025-12-25: patched: Version 2.9.4 released
  • 2026-01-19: advisory: Initial advisory published by VulnCheck
  • 2026-01-20: disclosed: Detailed research published by Zafran Labs

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.