CVE-2026-68746
Not Failing Securely ('Failing Open') vulnerability in livebook-dev livebook allows an unauthenticated network client to obtain full access to a Livebook server that enforces identity through Livebook Teams.
A Livebook Agent or App Server connected to Livebook Teams caches the identifier of the deployment group it belongs to, and resolves that identifier against a locally cached list of deployment groups on every request in order to decide whether Teams identity enforcement is active.
Leer descripción completaMostrar menos
Livebook.Hubs.TeamClient.handle_call/3 in lib/livebook/hubs/team_client.ex does not distinguish a deployment group that could not be resolved from one that was resolved with identity enforcement switched off: the clause matches only the case where a group was found with enforcement enabled, and falls through to a catch-all that reports enforcement as switched off for everything else. The two neighbouring functions that decide user and application access resolve the same identifier and treat the same unresolved result as a denial.
When the identity status is reported as switched off, Livebook.ZTA.LivebookTeams.authenticate/3 in lib/livebook/zta/livebook_teams.ex returns empty identity metadata and allows the request to continue instead of halting it. LivebookWeb.UserPlug.build_current_user/3 merges that empty metadata into a newly built user, whose access type defaults to full access, and LivebookWeb.AuthPlug.authorized?/1 grants access to any user holding full access.
The cached identifier becomes unresolvable when the deployment group it refers to is deleted while the agent is not connected to receive the change, most concretely when a deployment group is deleted during the window in which an agent is disconnected or reconnecting. The client removes the group from its cached list without clearing the identifier that refers to it. Any client able to reach the affected server over the network is then granted the same access as a fully privileged member of the organisation, including the ability to read notebooks and configured secrets, execute code on the server's runtime, and disrupt its operation.
This issue affects livebook: from 0.19.7 before 0.19.9.
CVSS
- Versión: 4.0
- Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/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
- Puntuación base: 7.7
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.80%
- Percentil entre todas las CVEs puntuadas: 55
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
🎯 Técnicas ATT&CK
Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.
- Explotación
T1210Exploitation of Remote Serviceslateral movement90 % - Impacto principal
T1078.001Default Accountsstealth · persistence · privilege escalation · initial access95 % - Impacto secundario
T1059Command and Scripting Interpreterexecution85 % - Impacto secundario
T1552.007Container APIcredential access90 %
Acceso remoto a servidor Livebook con privilegios de Teams deshabilitados tras fallo en cache de grupos; logro de autenticación falsa, lectura de secretos y ejecución de código remoto.
Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.
🛡️ Mitigaciones ATT&CK que cubren estas técnicas
Tecnologías afectadas (1)
CWE
- CWE-636
Referencias
- https://cna.erlef.org/cves/CVE-2026-68746.html
- https://github.com/livebook-dev/livebook/commit/2d3a2c710c880abd24a2bc888d3cf5239d98cf72
- https://github.com/livebook-dev/livebook/commit/d374e90647edbb00286bfee9182c0161d29a8e07
- https://github.com/livebook-dev/livebook/commit/d6d0dfa746b172540442852f74de4a9deacc433b
- https://github.com/livebook-dev/livebook/security/advisories/GHSA-74j5-6grg-g6wj
- https://osv.dev/vulnerability/EEF-CVE-2026-68746
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-68746",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-68746",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-08-06T14:45:09.939122Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 8.8,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.9,
"exploitabilityScore": 2.8
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 7.7,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/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",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"privilegesRequired": "LOW",
"subIntegrityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "HIGH",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"affectedData": [
{
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"modules": [
"Elixir.Livebook.Hubs.TeamClient",
"Elixir.Livebook.ZTA.LivebookTeams",
"Elixir.LivebookWeb.AuthPlug"
],
"product": "livebook",
"versions": [
{
"status": "affected",
"version": "0.19.7",
"lessThan": "0.19.9",
"versionType": "semver"
}
],
"packageURL": "pkg:hex/livebook",
"packageName": "livebook",
"programFiles": [
"lib/livebook/hubs/team_client.ex",
"lib/livebook/zta/livebook_teams.ex",
"lib/livebook_web/plugs/auth_plug.ex"
],
"collectionURL": "https://repo.hex.pm",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "'Elixir.Livebook.Hubs.TeamClient':handle_call/3"
},
{
"name": "'Elixir.Livebook.Hubs.TeamClient':remove_deployment_group/2"
},
{
"name": "'Elixir.Livebook.Hubs.TeamClient':fetch_entry/3"
},
{
"name": "'Elixir.Livebook.ZTA.LivebookTeams':authenticate/3"
},
{
"name": "'Elixir.LivebookWeb.AuthPlug':authorized?/1"
}
]
},
{
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"vendor": "livebook-dev",
"modules": [
"Elixir.Livebook.Hubs.TeamClient",
"Elixir.Livebook.ZTA.LivebookTeams",
"Elixir.LivebookWeb.AuthPlug"
],
"product": "livebook",
"versions": [
{
"status": "affected",
"version": "0.19.7",
"lessThan": "0.19.9",
"versionType": "other"
},
{
"status": "affected",
"version": "0.19.7-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/hubs/team_client.ex",
"lib/livebook/zta/livebook_teams.ex",
"lib/livebook_web/plugs/auth_plug.ex"
],
"collectionURL": "https://ghcr.io",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "'Elixir.Livebook.Hubs.TeamClient':handle_call/3"
},
{
"name": "'Elixir.Livebook.Hubs.TeamClient':remove_deployment_group/2"
},
{
"name": "'Elixir.Livebook.Hubs.TeamClient':fetch_entry/3"
},
{
"name": "'Elixir.Livebook.ZTA.LivebookTeams':authenticate/3"
},
{
"name": "'Elixir.LivebookWeb.AuthPlug':authorized?/1"
}
]
},
{
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"modules": [
"Elixir.Livebook.Hubs.TeamClient",
"Elixir.Livebook.ZTA.LivebookTeams",
"Elixir.LivebookWeb.AuthPlug"
],
"product": "livebook",
"versions": [
{
"status": "affected",
"changes": [
{
"at": "d374e90647edbb00286bfee9182c0161d29a8e07",
"status": "unaffected"
},
{
"at": "d6d0dfa746b172540442852f74de4a9deacc433b",
"status": "unaffected"
},
{
"at": "2d3a2c710c880abd24a2bc888d3cf5239d98cf72",
"status": "unaffected"
}
],
"version": "fc2c87c6b0276705281842acbe17142d1ac4d555",
"lessThan": "*",
"versionType": "git"
}
],
"packageURL": "pkg:github/livebook-dev/livebook",
"packageName": "livebook-dev/livebook",
"programFiles": [
"lib/livebook/hubs/team_client.ex",
"lib/livebook/zta/livebook_teams.ex",
"lib/livebook_web/plugs/auth_plug.ex"
],
"collectionURL": "https://github.com",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "'Elixir.Livebook.Hubs.TeamClient':handle_call/3"
},
{
"name": "'Elixir.Livebook.Hubs.TeamClient':remove_deployment_group/2"
},
{
"name": "'Elixir.Livebook.Hubs.TeamClient':fetch_entry/3"
},
{
"name": "'Elixir.Livebook.ZTA.LivebookTeams':authenticate/3"
},
{
"name": "'Elixir.LivebookWeb.AuthPlug':authorized?/1"
}
]
}
]
}
],
"published": "2026-08-05T20:17:14.393",
"references": [
{
"url": "https://cna.erlef.org/cves/CVE-2026-68746.html",
"tags": [
"Vendor Advisory"
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
},
{
"url": "https://github.com/livebook-dev/livebook/commit/2d3a2c710c880abd24a2bc888d3cf5239d98cf72",
"tags": [
"Patch"
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
},
{
"url": "https://github.com/livebook-dev/livebook/commit/d374e90647edbb00286bfee9182c0161d29a8e07",
"tags": [
"Patch"
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
},
{
"url": "https://github.com/livebook-dev/livebook/commit/d6d0dfa746b172540442852f74de4a9deacc433b",
"tags": [
"Patch"
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
},
{
"url": "https://github.com/livebook-dev/livebook/security/advisories/GHSA-74j5-6grg-g6wj",
"tags": [
"Vendor Advisory"
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
},
{
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-68746",
"tags": [
"Third Party Advisory"
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"description": [
{
"lang": "en",
"value": "CWE-636"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Not Failing Securely ('Failing Open') vulnerability in livebook-dev livebook allows an unauthenticated network client to obtain full access to a Livebook server that enforces identity through Livebook Teams.\n\nA Livebook Agent or App Server connected to Livebook Teams caches the identifier of the deployment group it belongs to, and resolves that identifier against a locally cached list of deployment groups on every request in order to decide whether Teams identity enforcement is active. Livebook.Hubs.TeamClient.handle_call/3 in lib/livebook/hubs/team_client.ex does not distinguish a deployment group that could not be resolved from one that was resolved with identity enforcement switched off: the clause matches only the case where a group was found with enforcement enabled, and falls through to a catch-all that reports enforcement as switched off for everything else. The two neighbouring functions that decide user and application access resolve the same identifier and treat the same unresolved result as a denial.\n\nWhen the identity status is reported as switched off, Livebook.ZTA.LivebookTeams.authenticate/3 in lib/livebook/zta/livebook_teams.ex returns empty identity metadata and allows the request to continue instead of halting it. LivebookWeb.UserPlug.build_current_user/3 merges that empty metadata into a newly built user, whose access type defaults to full access, and LivebookWeb.AuthPlug.authorized?/1 grants access to any user holding full access.\n\nThe cached identifier becomes unresolvable when the deployment group it refers to is deleted while the agent is not connected to receive the change, most concretely when a deployment group is deleted during the window in which an agent is disconnected or reconnecting. The client removes the group from its cached list without clearing the identifier that refers to it. Any client able to reach the affected server over the network is then granted the same access as a fully privileged member of the organisation, including the ability to read notebooks and configured secrets, execute code on the server's runtime, and disrupt its operation.\n\nThis issue affects livebook: from 0.19.7 before 0.19.9."
}
],
"lastModified": "2026-08-10T16:47:23.483",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:livebook:livebook:*:*:*:*:*:*:*:*",
"vulnerable": true,
"matchCriteriaId": "128456DE-5AA5-441B-8D70-3C9C2A42CB5D",
"versionEndExcluding": "0.19.9",
"versionStartIncluding": "0.19.7"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
}