Security Digest · Vulnerability record

CVE-2026-56104: Chainlit contains a session hijacking vulnerability

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.

CVSS 8.8 High EPSS 0.4% · p35

Should you act?

Normal patch cycle

No exploitation signal; fix it in your next routine update if you are affected. This signal is computed from CISA KEV, EPSS and CVSS data; it is not an editorial verdict.

  • No confirmed exploitation. It is not in CISA’s KEV catalog and CISA’s SSVC assessment records no known exploitation. That can change quickly after a public write-up; re-check if you are affected.
  • EPSS 0.4%, percentile 35: FIRST’s model estimates a 0.4% chance of exploitation activity in the next 30 days, higher than 35% of all scored CVEs (low). EPSS is a probability, not a verdict.
  • Needs an account (low (any account)). Exposure depends on who can log in.
  • Only applies if your dependency tree includes chainlit (PyPI) < 2.10.1, fixed in 2.10.1. Check your lockfile, including transitive dependencies.

What it is

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 restoreexistingsession path to assume a victim's permissions and roles, enabling unauthorized invocation of tools and access to data restricted to the authenticated victim.

From the GitHub advisory

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 restoreexistingsession path to assume a victim's permissions and roles, enabling unauthorized invocation of tools and access to data restricted to the authenticated victim.

Weakness type: CWE-862.

Product: chainlit (PyPI) · Assigned by: VulnCheck · Published: 2026-06-22

Affected and fixed versions

EcosystemPackageVulnerableFirst fixed
PyPIchainlit< 2.10.12.10.1
VendorProductAffected versions (per CVE record)
Chainlitchainlit< 2.10.1

Severity scores

Scored byCVSSScoreVector
VulnCheck4.08.8 HighCVSS:4.0/AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N
VulnCheck3.18.2 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:N
GitHub4.09.1 CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
  • Attack vector: network (remotely reachable)
  • Attack complexity: high (needs special conditions)
  • Attack requirements: none
  • Privileges required: low (any account)
  • User interaction: none

CVSS measures how bad a flaw is if exploited, not how likely exploitation is. Read it next to the exploitation data below.

Exploitation and urgency

  • CISA KEV: not listed (no confirmed in-the-wild exploitation known to CISA).
  • CISA SSVC assessment: exploitation none, automatable no, technical impact total.
  • FIRST EPSS (model of 2026-10-21): 0.42% probability of exploitation activity in the next 30 days; percentile 35.

Timeline

  • — CVE record published by VulnCheck
  • — GitHub-reviewed advisory GHSA-c39v-8hrw-h448 published (critical)
  • — CVE record last updated

Sources and references

Original sources first. Version and fix details should always be confirmed against the vendor or project advisory.

Vendor and project advisories, patches

  1. Release Notes github.com
  2. Patch Commit github.com

Vulnerability records

  1. GitHub Advisory GHSA-c39v-8hrw-h448 github.com
  2. CVE.org record CVE-2026-56104 cve.org
  3. NVD entry CVE-2026-56104 nvd.nist.gov

Other references from the CVE record and advisory

  1. Pull Request github.com
  2. vulncheck.com vulncheck.com

Critical PyPI advisories · Today’s Security Digest