Skip to main content

Chainlit CVE-2026-56104

| EUVDEUVD-2026-38285 HIGH
Missing Authorization (CWE-862)
2026-06-22 VulnCheck GHSA-c39v-8hrw-h448
8.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify exposed Chainlit instance
  2. Delivery
    Obtain victim sessionId via leak or interception
  3. Exploit
    Open WebSocket connection
  4. Execution
    Invoke restore_existing_session with sessionId
  5. Persist
    Inherit victim's authenticated identity
  6. Impact
    Invoke privileged tools and exfiltrate data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Attacker must possess a valid, currently-active sessionId belonging to an authenticated Chainlit user and must be able to reach the Chainlit WebSocket endpoint over the network. Exploitation specifically requires invoking the restore_existing_session WebSocket path on a Chainlit instance running a version earlier than 2.10.1; no attacker authentication of their own is required beyond knowledge of the sessionId, and no user interaction by the victim is needed. Limiting factors: obtaining the victim's sessionId is non-trivial (reflected in CVSS AC:H), sessions must still be valid (not expired or logged out), and deployments without authenticated users or sensitive tools have minimal impact.

Impact

The CVSS 4.0 base score of 8.8 reflects network reach with high confidentiality and integrity impact on both the vulnerable and a subsequent system (the connected backend tools and data), but AC:H and PR:L indicate exploitation is non-trivial and requires the attacker to first obtain a valid victim sessionId - for example via log leakage, referrer exposure, XSS, or network interception. This is consistent with the SSVC assessment (Exploitation: none, Automatable: no, Technical Impact: total) and the low EPSS of 0.30% (21st percentile), suggesting targeted rather than opportunistic abuse. The vulnerability is real and high-impact for any internet-exposed Chainlit deployment handling sensitive data or privileged tools, but it is not a drive-by mass-exploitation candidate; prioritize patching where Chainlit fronts production LLM agents with role-based access, and treat it as medium-urgency elsewhere.

Exploit ScenarioDerived

An attacker who obtains a valid Chainlit sessionId for an authenticated user - for example from a leaked browser log, a shared screenshot, an HTTP referrer, or a network capture - opens a WebSocket connection and invokes the restore_existing_session path with that sessionId. Chainlit rebinds the existing authenticated identity to the attacker's socket, allowing them to invoke tools and read data as the victim. No public POC is identified at time of analysis, but the upstream patch diff makes the vulnerable code path straightforward to reproduce.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv3 – Jun 23, 2026

Session hijacking in Chainlit before 2.10.1 allows remote attackers with a valid victim sessionId to inherit an authenticated user's session via the WebSocket restore_existing_session path, which fails to verify session ownership. Successful exploitation grants the attacker the victim's roles and permissions, enabling unauthorized tool invocation and access to restricted data. No public exploit identified at time of analysis; EPSS is low (0.30%) and the issue is not listed in CISA KEV.

Earlier versions of this analysis (2)
v2 Jun 23, 2026 - 17:13 cvss changed CVSS 8.8

Session hijacking in Chainlit before 2.10.1 allows remote attackers with a valid sessionId to restore another user's authenticated WebSocket session and inherit their permissions, enabling unauthorized tool invocation and data access. The flaw stems from missing ownership verification in the restore_existing_session path. No public exploit identified at time of analysis; EPSS is low (0.30%) and CISA SSVC reports no observed exploitation, but technical impact is rated total.

v1 Jun 22, 2026 - 16:02 CVSS 9.1

Session hijacking in Chainlit before 2.10.1 lets unauthenticated remote attackers take over authenticated user sessions by submitting a known sessionId during the WebSocket session restoration handshake, bypassing ownership verification. Successful exploitation grants the attacker the victim's permissions and roles, enabling unauthorized tool invocation and access to data restricted to that user. No public exploit identified at time of analysis, but a vendor patch and upstream commit are available.

RemediationAI

Vendor-released patch: upgrade Chainlit to 2.10.1 or later (https://github.com/Chainlit/chainlit/releases/tag/2.10.1), which adds session-ownership validation on WebSocket restore via PR #2857 (commit 5effb664f1e0af4a4f0a42fe63ea979676039a7f). If immediate upgrade is not possible, restrict the Chainlit WebSocket endpoint to trusted networks or place it behind an authenticating reverse proxy that binds sessions to source identity (e.g., mTLS or signed cookies), rotate any potentially exposed sessionIds, and audit logs/referrer headers/error reports that may have leaked sessionId values - be aware that network restrictions will block legitimate remote users and forced rotation will disconnect active sessions. Disabling session restoration entirely is another option but will degrade UX by forcing re-authentication on every reconnect.

Affected VersionsENISA

Chainlit 0 <2.10.1

Affected Packages

pypi chainlit fix: 2.10.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in pypi

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Chainlit is an open-source Python framework for building conversational AI and LLM-powered chat applications, exposing a WebSocket interface for real-time interaction. The flaw is a CWE-862 Missing Authorization issue in the WebSocket session restoration handler (restore_existing_session), which accepts any caller presenting a known sessionId and rebinds that session's authenticated identity to the new connection without checking that the requester owns the session. As confirmed by the upstream fix in PR #2857 (commit 5effb66), the patched code adds ownership validation before restoring session state, closing the trust gap between sessionId knowledge and session ownership.

Know when Chainlit gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 8.8 CRITICAL
CVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
vuln.today AI 8.7 HIGH

Network-reachable WebSocket, no attacker auth (PR:N) but requires obtaining a valid sessionId (AC:H); scope changes as attacker gains victim's identity/permissions; no availability impact.

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
High
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

4
Analysis Updated
Jun 23, 2026 - 17:13 vuln.today
v3 - CVSS changed
Analysis Updated
Jun 23, 2026 - 17:13 vuln.today
v2 - CVSS changed
Severity Changed
Jun 23, 2026 - 17:07 NVD
CRITICAL HIGH
CVSS changed
Jun 23, 2026 - 17:07 NVD
9.1 (CRITICAL) 8.8 (HIGH)

DescriptionCVE.org

Chainlit before 2.10.1 contains a session hijacking vulnerability that allows unauthenticated attackers to restore and inherit authenticated user sessions by presenting a valid sessionId during WebSocket session restoration without ownership verification. Attackers can exploit the restore_existing_session path to assume a victim's permissions and roles, enabling unauthorized invocation of tools and access to data restricted to the authenticated victim.

Executive ViewAI

Why It Matters

Chainlit before version 2.10.1 contains a session hijacking vulnerability that allows attackers to impersonate authenticated users by exploiting the WebSocket restore_existing_session function, potentially granting them access to restricted tools and confidential data. Organizations using Chainlit should immediately identify affected deployments and upgrade to version 2.10.1 to prevent unauthorized access to user accounts and data. The low EPSS score (0.3%) indicates limited current exploitation risk, but successful attacks would fully compromise affected user accounts.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
popular open-source LLM app framework, not ubiquitous
Threat Intel
1
1 sources
Social Media
1
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy