CVE-2026-56104: Chainlit session hijacking in WebSocket session restoration

CVE-2026-56104 · Severity: high · CVSS 7.4 · Published 2026-06-22

Chainlit, a framework for building AI applications, contains a security flaw that allows unauthorized individuals to take over active user sessions. By providing a valid session ID, an attacker can bypass ownership checks and gain the same permissions as a legitimate user. This could lead to the unauthorized access of sensitive data or the execution of tools and actions on behalf of the victim.

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

Quick answers

Is CVE-2026-56104 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-56104 being exploited in the wild.
How severe is CVE-2026-56104?
High severity, with a CVSS score of 7.4, published 22 June 2026.
Which products and versions are affected?
Chainlit < 2.10.1; chainlit (PyPI) ECOSYSTEM:introduced=0,fixed=2.10.1.
Is there a fix for CVE-2026-56104?
Yes. chainlit (PyPI): upgrade to 2.10.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-56104 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-56104?
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.10.1 or later
    pip install "chainlit>=2.10.1"

Technical details

A session hijacking vulnerability exists in Chainlit's WebSocket session restoration mechanism. The 'restore_existing_session' path failed to verify if the authenticated user requesting a session restoration actually owned the session associated with the provided 'sessionId'. An attacker who obtains a valid session ID can exploit this lack of authorization (CWE-862) to assume the victim's roles and permissions. This allows for unauthorized tool invocation and access to restricted data. The issue is mitigated in version 2.10.1 by implementing the '_session_owner_matches_user' check during the WebSocket rebind process.

Affected products

  • Chainlit Chainlit < 2.10.1

Identifiers

  • CVE-2026-56104
  • GHSA-c39v-8hrw-h448
  • PYSEC-2026-4028

Timeline

  • 2026-03-24: patched: Fix merged via Pull Request #2857
  • 2026-03-27: advisory: Release 2.10.1 published
  • 2026-06-22: disclosed: CVE-2026-56104 published to NVD

References

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