6.8
MEDIUM CVSS 4.0
CVE-2026-66885
Livebook Teams identity callback lacks state binding, allowing login CSRF
Description

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.

INFO

Published Date :

Aug. 5, 2026, 8:17 p.m.

Last Modified :

Aug. 5, 2026, 8:17 p.m.

Remotely Exploit :

Yes !

Source :

6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Affected Products

The following products are affected by CVE-2026-66885 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

No affected product recoded yet

CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 4.0 MEDIUM 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
CVSS 4.0 MEDIUM 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Solution
Implement CSRF protection by validating state or nonce during OAuth callbacks to prevent account takeover.
  • Generate a unique state or nonce for each login request.
  • Validate the state or nonce on the OAuth callback.
  • Verify the callback corresponds to the initiated session.
  • Update Livebook to version 0.18.7 or 0.19.9.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-66885 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-66885 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-66885 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-66885 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • New CVE Received by 6b3ad84c-e1a6-4bf7-a703-f496b71e49db

    Aug. 05, 2026

    Action Type Old Value New Value
    Added Affected [{'cpes': ['cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*'], 'repo': 'https://github.com/livebook-dev/livebook', 'vendor': 'livebook-dev', 'modules': ['Elixir.Livebook.ZTA.LivebookTeams', 'Elixir.Livebook.Teams.Requests'], 'product': 'livebook', 'versions': [{'status': 'affected', 'version': '0.15.0', 'lessThan': '0.18.7', 'versionType': 'semver'}, {'status': 'affected', 'version': '0.19.0', 'lessThan': '0.19.9', 'versionType': 'semver'}], 'packageURL': 'pkg:hex/livebook', 'packageName': 'livebook', 'programFiles': ['lib/livebook/zta/livebook_teams.ex', 'lib/livebook/teams/requests.ex'], 'collectionURL': 'https://repo.hex.pm', 'defaultStatus': 'unaffected', 'programRoutines': [{'name': "'Elixir.Livebook.ZTA.LivebookTeams':handle_request/4"}, {'name': "'Elixir.Livebook.Teams.Requests':create_auth_request/1"}]}, {'cpes': ['cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*'], 'vendor': 'livebook-dev', 'modules': ['Elixir.Livebook.ZTA.LivebookTeams', 'Elixir.Livebook.Teams.Requests'], 'product': 'livebook', 'versions': [{'status': 'affected', 'version': '0.15.0', 'lessThan': '0.18.7', 'versionType': 'other'}, {'status': 'affected', 'version': '0.19.0', 'lessThan': '0.19.9', 'versionType': 'other'}, {'status': 'affected', 'version': '0.15.0-cuda12', 'lessThan': '0.18.7-cuda12', 'versionType': 'other'}, {'status': 'affected', 'version': '0.19.0-cuda12', 'lessThan': '0.19.9-cuda12', 'versionType': 'other'}], 'packageURL': 'pkg:oci/livebook?repository_url=ghcr.io%2Flivebook-dev', 'packageName': 'livebook-dev/livebook', 'programFiles': ['lib/livebook/zta/livebook_teams.ex', 'lib/livebook/teams/requests.ex'], 'collectionURL': 'https://ghcr.io', 'defaultStatus': 'unaffected', 'programRoutines': [{'name': "'Elixir.Livebook.ZTA.LivebookTeams':handle_request/4"}, {'name': "'Elixir.Livebook.Teams.Requests':create_auth_request/1"}]}, {'cpes': ['cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*'], 'repo': 'https://github.com/livebook-dev/livebook', 'vendor': 'livebook-dev', 'modules': ['Elixir.Livebook.ZTA.LivebookTeams', 'Elixir.Livebook.Teams.Requests'], 'product': 'livebook', 'versions': [{'status': 'affected', 'changes': [{'at': '21c16168263275541a6e076d0c31852c40e09a18', 'status': 'unaffected'}, {'at': '33a052daa386c4ce08a9c39a07fc90f353ff6a51', 'status': 'unaffected'}, {'at': '6ed2e213e9d5a19a70d7fcad5a8d616622cd2084', 'status': 'unaffected'}], 'version': '4380a411920531223088267ed1c0ad21f96ef660', 'lessThan': '*', 'versionType': 'git'}], 'packageURL': 'pkg:github/livebook-dev/livebook', 'packageName': 'livebook-dev/livebook', 'programFiles': ['lib/livebook/zta/livebook_teams.ex', 'lib/livebook/teams/requests.ex'], 'collectionURL': 'https://github.com', 'defaultStatus': 'unaffected', 'programRoutines': [{'name': "'Elixir.Livebook.ZTA.LivebookTeams':handle_request/4"}, {'name': "'Elixir.Livebook.Teams.Requests':create_auth_request/1"}]}]
    Added Description 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.
    Added CVSS V4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
    Added CWE CWE-352
    Added Reference https://cna.erlef.org/cves/CVE-2026-66885.html
    Added Reference https://github.com/livebook-dev/livebook/commit/21c16168263275541a6e076d0c31852c40e09a18
    Added Reference https://github.com/livebook-dev/livebook/commit/33a052daa386c4ce08a9c39a07fc90f353ff6a51
    Added Reference https://github.com/livebook-dev/livebook/commit/6ed2e213e9d5a19a70d7fcad5a8d616622cd2084
    Added Reference https://github.com/livebook-dev/livebook/security/advisories/GHSA-pvvw-28fw-c6fg
    Added Reference https://osv.dev/vulnerability/EEF-CVE-2026-66885
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.