CVE-2026-66885: Livebook: CSRF binds victim session to attacker

MEDIUM
Published August 5, 2026
CISO Take

A missing CSRF state parameter in Livebook's Teams login flow lets an attacker who shares Teams-org membership with a target trick a victim's browser into completing an OAuth-style exchange bound to the attacker's own identity rather than the victim's. Because the flaw sits in an interactive notebook platform widely used for Elixir/Nx-based ML prototyping and collaborative data science, a successful lure means a victim's notebook secrets, uploaded datasets, and computation results get silently attributed to and exposed within the attacker's account rather than their own — a quiet insider-style data leak, not a system takeover. The CVSS score of 6.5 (network, low complexity, no privileges, but user interaction required) and a low absolute EPSS score of 0.16% both point to a targeted, social-engineering-dependent exploit rather than mass scanning; no public PoC, Nuclei template, or CISA KEV listing exists yet, and CISA's own SSVC decision is TRACK, not Act. Livebook Teams customers should upgrade to 0.18.7 or 0.19.9+, where a state/nonce is now generated and validated on the callback, and in the interim should treat unsolicited Livebook login links with the same suspicion as any credential-phishing link and audit Teams org membership to limit who can stage this flow.

Sources: NVD GitHub Advisory EPSS OSV CISA KEV ATLAS

What is the risk?

Medium severity per CVSS (6.5) reflecting high confidentiality impact contained entirely to session/identity binding, with no integrity or availability impact and no way for the attacker to directly authenticate as the victim. Exploitability is constrained by three factors: the attacker must already hold membership in the same Livebook Teams organisation, the victim must be lured into clicking a link, and the stolen authorization code must be redeemed within a short validity window — this is a targeted social-engineering vector, not a scannable, internet-wide weakness. EPSS's low absolute score (0.16%) is consistent with limited real-world exploitation interest so far, it is not in CISA KEV, and CISA's SSVC decision is TRACK. Overall: real but narrow risk, most relevant to organizations running Livebook Teams-integrated notebook environments with multiple collaborators who don't fully trust each other's org membership.

How does the attack unfold?

Preparation
Attacker, already a member of the target's Livebook Teams organisation, initiates the Teams login flow themselves and retains the resulting authorization code without redeeming it.
Delivery
Attacker crafts a URL embedding that unredeemed authorization code and sends it to the victim under a plausible pretext.
AML.T0011.003
Exploitation
Victim opens the link; because no CSRF state/nonce ties the callback to the originating session, their browser exchanges the attacker's code for a token and binds their session to the attacker's identity.
Impact
Victim unknowingly works under the attacker's Livebook Teams account, exposing notebook secrets, uploaded data, and results to the attacker.
AML.T0037

How severe is it?

CVSS 3.1
6.5 / 10
EPSS
0.2%
chance of exploitation in 30 days
Higher than 6% of all CVEs
Exploitation Status
No known exploitation
Sophistication
Moderate

What is the attack surface?

AV AC PR UI S C I A
AV Network
AC Low
PR None
UI Required
S Unchanged
C High
I None
A None

What should I do?

1 step
  1. Upgrade Livebook to 0.18.7 or later (affects 0.15.0-0.18.6) or 0.19.9 or later (affects 0.19.0-0.19.8), where the Teams OAuth callback now validates a per-attempt state/nonce generated by Livebook.Teams.Requests.create_auth_request/1. Until patched, restrict Livebook Teams org membership to fully trusted individuals, since the attacker must already be a member to stage the attack. Instruct users to never complete a Livebook Teams login flow from a link they did not personally initiate, and treat any such link received via email, chat, or other out-of-band channel as suspicious. For detection, review Livebook Teams authentication/access logs (if available) for login events where the session-initiating IP/device differs from the token-redeeming IP/device, which is a signature of this CSRF pattern.

What does CISA's SSVC say?

Decision Track
Exploitation none
Automatable No
Technical Impact partial

Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.

How is it classified?

Which compliance frameworks are affected?

This CVE is relevant to:

EU AI Act
Article 15 - Accuracy, robustness and cybersecurity
ISO 42001
8.1 - Operational planning and control
NIST AI RMF
GOVERN 6.1 - Policies for third-party/tooling risk in the AI lifecycle

Frequently Asked Questions

What is CVE-2026-66885?

A missing CSRF state parameter in Livebook's Teams login flow lets an attacker who shares Teams-org membership with a target trick a victim's browser into completing an OAuth-style exchange bound to the attacker's own identity rather than the victim's. Because the flaw sits in an interactive notebook platform widely used for Elixir/Nx-based ML prototyping and collaborative data science, a successful lure means a victim's notebook secrets, uploaded datasets, and computation results get silently attributed to and exposed within the attacker's account rather than their own — a quiet insider-style data leak, not a system takeover. The CVSS score of 6.5 (network, low complexity, no privileges, but user interaction required) and a low absolute EPSS score of 0.16% both point to a targeted, social-engineering-dependent exploit rather than mass scanning; no public PoC, Nuclei template, or CISA KEV listing exists yet, and CISA's own SSVC decision is TRACK, not Act. Livebook Teams customers should upgrade to 0.18.7 or 0.19.9+, where a state/nonce is now generated and validated on the callback, and in the interim should treat unsolicited Livebook login links with the same suspicion as any credential-phishing link and audit Teams org membership to limit who can stage this flow.

Is CVE-2026-66885 actively exploited?

No confirmed active exploitation of CVE-2026-66885 has been reported, but organizations should still patch proactively.

How to fix CVE-2026-66885?

Upgrade Livebook to 0.18.7 or later (affects 0.15.0-0.18.6) or 0.19.9 or later (affects 0.19.0-0.19.8), where the Teams OAuth callback now validates a per-attempt state/nonce generated by Livebook.Teams.Requests.create_auth_request/1. Until patched, restrict Livebook Teams org membership to fully trusted individuals, since the attacker must already be a member to stage the attack. Instruct users to never complete a Livebook Teams login flow from a link they did not personally initiate, and treat any such link received via email, chat, or other out-of-band channel as suspicious. For detection, review Livebook Teams authentication/access logs (if available) for login events where the session-initiating IP/device differs from the token-redeeming IP/device, which is a signature of this CSRF pattern.

What systems are affected by CVE-2026-66885?

This vulnerability affects the following AI/ML architecture patterns: Collaborative ML/data science notebook environments, Elixir/Nx-based model prototyping workflows, Team-shared dev tooling with federated identity (SSO/OAuth-style).

What is the CVSS score for CVE-2026-66885?

CVE-2026-66885 has a CVSS v3.1 base score of 6.5 (MEDIUM). The EPSS exploitation probability is 0.16%.

What is the AI security impact?

Affected AI Architectures

Collaborative ML/data science notebook environmentsElixir/Nx-based model prototyping workflowsTeam-shared dev tooling with federated identity (SSO/OAuth-style)

MITRE ATLAS Techniques

AML.T0011.003 Malicious Link
AML.T0037 Data from Local System

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: 8.1
NIST AI RMF: GOVERN 6.1

What are the technical details?

Original Advisory

Cross-Site Request Forgery (CSRF) vulnerability in livebook-dev livebook allows an attacker to authenticate a victim's browser session under the attacker's own Livebook Teams identity. When Livebook is configured to use Livebook Teams for identity, Livebook.ZTA.LivebookTeams.handle_request/4 in lib/livebook/zta/livebook_teams.ex handles the OAuth-style callback carrying a teams_identity marker and a code parameter. The clause exchanges that code for an access token and writes the token into the browser session without verifying any value that ties the callback to the browser session that started the login. No state or nonce is generated when the flow is initiated: Livebook.Teams.Requests.create_auth_request/1 in lib/livebook/teams/requests.ex sends an empty request body, so no per-attempt value is ever registered, and the callback clause has nothing to compare against. An attacker who holds membership in the same Livebook Teams organisation as the target instance can therefore begin the login flow themselves, retain the resulting authorization code without redeeming it, and induce a victim to open a crafted URL carrying that code. The victim's browser completes the exchange and the resulting session is bound to the attacker's identity rather than the victim's. The victim is not required to hold any particular privilege, and no credential belonging to the victim is involved. The vulnerability does not allow the attacker to authenticate as the victim. The consequence is that a user believes they are working in their own authenticated session while they are in fact operating as another identity. Work performed in that session is attributed to the attacker's account, and secrets, uploaded data, or notebook results the victim produces are exposed to the attacker rather than kept in the victim's own account. The authorization code must be redeemed within a short window after the login flow begins, which constrains the timing of the attack but not its feasibility. This issue affects livebook: from 0.15.0 before 0.18.7 and from 0.19.0 before 0.19.9.

Exploitation Scenario

An attacker who is a legitimate member of an organisation's Livebook Teams workspace initiates the Livebook Teams login flow themselves, generating a valid authorization code, but instead of completing their own login they hold onto the code. They then craft a URL embedding that code and send it to a target colleague via a plausible pretext — a chat DM claiming it's a shared notebook link, or a phishing email mimicking a Livebook session-recovery notification. The colleague, believing they are logging into their own Livebook workspace, clicks the link; their browser silently exchanges the attacker's code for an access token and stores it in their session before the code expires. The victim then works normally in Livebook — uploading a dataset, running a model training notebook, pasting an API key into a code cell — unaware that everything they do is recorded under the attacker's Livebook Teams identity, giving the attacker later access to that data and those secrets through their own account.

Weaknesses (CWE)

CWE-352 — Cross-Site Request Forgery (CSRF): The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor.

  • [Architecture and Design] Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482]. For example, use anti-CSRF packages such as the OWASP CSRFGuard. [REF-330] Another example is the ESAPI Session Management control, which includes a component for CSRF. [REF-45]
  • [Implementation] Ensure that the application is free of cross-site scripting issues (CWE-79), because most CSRF defenses can be bypassed using attacker-controlled script.

Source: MITRE CWE corpus.

CVSS Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N

Timeline

Published
August 5, 2026
Last Modified
August 10, 2026
First Seen
August 5, 2026

Related Vulnerabilities