CVE-2026-66297 (GCVE-0-2026-66297)
Vulnerability from cvelistv5 – Published: 2026-08-05 19:43 – Updated: 2026-11-10 17:28- CWE-78 - Improper Neutralization of Special Elements used in an OS Command
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| livebook-dev | livebook |
Affected:
0.13.0 , < 0.18.7
(semver)
Affected: 0.19.0 , < 0.19.9 (semver) cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:* |
||
| livebook-dev | livebook |
Affected:
0.13.0 , < 0.18.7
(other)
Affected: 0.13.0-cuda12 , < 0.18.7-cuda12 (other) Affected: 0.19.0 , < 0.19.9 (other) Affected: 0.19.0-cuda12 , < 0.19.9-cuda12 (other) cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:* |
||
| livebook-dev | livebook |
Affected:
7cf4af5c10ec645f55a10f30e5661c54f6a6b319 , < *
(git)
cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:* |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-66297",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-06T13:04:06.826223Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-06T13:04:30.860Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/livebook-dev/livebook/security/advisories/GHSA-qpjc-w5mm-73mj"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook",
"packageURL": "pkg:hex/livebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"versions": [
{
"lessThan": "0.18.7",
"status": "affected",
"version": "0.13.0",
"versionType": "semver"
},
{
"lessThan": "0.19.9",
"status": "affected",
"version": "0.19.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://ghcr.io",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook-dev/livebook",
"packageURL": "pkg:oci/livebook?repository_url=ghcr.io%2Flivebook-dev%2Flivebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"vendor": "livebook-dev",
"versions": [
{
"lessThan": "0.18.7",
"status": "affected",
"version": "0.13.0",
"versionType": "other"
},
{
"lessThan": "0.18.7-cuda12",
"status": "affected",
"version": "0.13.0-cuda12",
"versionType": "other"
},
{
"lessThan": "0.19.9",
"status": "affected",
"version": "0.19.0",
"versionType": "other"
},
{
"lessThan": "0.19.9-cuda12",
"status": "affected",
"version": "0.19.0-cuda12",
"versionType": "other"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook-dev/livebook",
"packageURL": "pkg:github/livebook-dev/livebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"versions": [
{
"changes": [
{
"at": "b2a8416d149043132fe5a14ed611e0fefc9dc9cd",
"status": "unaffected"
},
{
"at": "0c2487326bbb37cb1eb43bb2f76eb93ad9f8fd6b",
"status": "unaffected"
},
{
"at": "f8fe9c62cb8bfc1dd0ccda4ea4a57c5e91563c85",
"status": "unaffected"
}
],
"lessThan": "*",
"status": "affected",
"version": "7cf4af5c10ec645f55a10f30e5661c54f6a6b319",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.18.7",
"versionStartIncluding": "0.13.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.19.9",
"versionStartIncluding": "0.19.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Nguy\u1ec5n C\u00f4ng T\u00fa"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Jonatan K\u0142osko"
},
{
"lang": "en",
"type": "remediation reviewer",
"value": "Jos\u00e9 Valim"
},
{
"lang": "en",
"type": "analyst",
"value": "Jonatan M\u00e4nnchen / EEF"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eImproper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in livebook-dev livebook allows command injection into generated deployment setup commands.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2\u003c/code\u003e and \u003ccode\u003eLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4\u003c/code\u003e in \u003ccode\u003elib/livebook_web/live/hub/teams/deployment_group_agent_component.ex\u003c/code\u003e interpolate deployment group environment variable values into the generated Docker and Fly.io setup commands without shell escaping. The values originate from the deployment group configuration and reach the sinks through \u003ccode\u003eLivebook.Hubs.Dockerfile.online_docker_info/3\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eBoth sinks place the value inside a double-quoted shell word, so a value containing a command substitution such as \u003ccode\u003e$(...)\u003c/code\u003e or backticks is evaluated by the shell without any need to break out of the quoting, and a literal double quote terminates the quoted word and allows arbitrary further tokens. The generated command is displayed in the Livebook web interface with a copy button, so a user who copies it and runs it without reviewing it first executes the injected commands on their own machine, under their own account.\u003c/p\u003e\n\u003cp\u003eAn attacker requires privileges sufficient to set deployment group environment variables, while the resulting code execution occurs on the machine of whoever runs the generated command. The Kubernetes instructions are not affected, because they render the same values into a YAML manifest with escaping rather than into a shell command.\u003c/p\u003e\n\u003cp\u003eThis issue affects livebook: from 0.13.0 before 0.18.7 and from 0.19.0 before 0.19.9.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in livebook-dev livebook allows command injection into generated deployment setup commands.\n\n`LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2` and `LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4` in `lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex` interpolate deployment group environment variable values into the generated Docker and Fly.io setup commands without shell escaping. The values originate from the deployment group configuration and reach the sinks through `Livebook.Hubs.Dockerfile.online_docker_info/3`.\n\nBoth sinks place the value inside a double-quoted shell word, so a value containing a command substitution such as `$(...)` or backticks is evaluated by the shell without any need to break out of the quoting, and a literal double quote terminates the quoted word and allows arbitrary further tokens. The generated command is displayed in the Livebook web interface with a copy button, so a user who copies it and runs it without reviewing it first executes the injected commands on their own machine, under their own account.\n\nAn attacker requires privileges sufficient to set deployment group environment variables, while the resulting code execution occurs on the machine of whoever runs the generated command. The Kubernetes instructions are not affected, because they render the same values into a YAML manifest with escaping rather than into a shell command.\n\nThis issue affects livebook: from 0.13.0 before 0.18.7 and from 0.19.0 before 0.19.9."
}
],
"value": "Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in livebook-dev livebook allows command injection into generated deployment setup commands.\n\nLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2 and LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4 in lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex interpolate deployment group environment variable values into the generated Docker and Fly.io setup commands without shell escaping. The values originate from the deployment group configuration and reach the sinks through Livebook.Hubs.Dockerfile.online_docker_info/3.\n\nBoth sinks place the value inside a double-quoted shell word, so a value containing a command substitution such as $(...) or backticks is evaluated by the shell without any need to break out of the quoting, and a literal double quote terminates the quoted word and allows arbitrary further tokens. The generated command is displayed in the Livebook web interface with a copy button, so a user who copies it and runs it without reviewing it first executes the injected commands on their own machine, under their own account.\n\nAn attacker requires privileges sufficient to set deployment group environment variables, while the resulting code execution occurs on the machine of whoever runs the generated command. The Kubernetes instructions are not affected, because they render the same values into a YAML manifest with escaping rather than into a shell command.\n\nThis issue affects livebook: from 0.13.0 before 0.18.7 and from 0.19.0 before 0.19.9."
}
],
"impacts": [
{
"capecId": "CAPEC-88",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-88 OS Command Injection"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 5,
"baseSeverity": "MEDIUM",
"privilegesRequired": "HIGH",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "ACTIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-78",
"description": "CWE-78 Improper Neutralization of Special Elements used in an OS Command",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-11-10T17:28:38.470Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"name": "Unescaped deployment environment variables in generated setup commands",
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/livebook-dev/livebook/security/advisories/GHSA-qpjc-w5mm-73mj"
},
{
"name": "EEF CNA record for CVE-2026-66297",
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-66297.html"
},
{
"name": "OSV record EEF-CVE-2026-66297",
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-66297"
},
{
"name": "Introducing commit 7cf4af5 in livebook-dev/livebook",
"tags": [
"related"
],
"url": "https://github.com/livebook-dev/livebook/commit/7cf4af5c10ec645f55a10f30e5661c54f6a6b319"
},
{
"name": "Fix commit b2a8416 in livebook-dev/livebook",
"tags": [
"patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/b2a8416d149043132fe5a14ed611e0fefc9dc9cd"
},
{
"name": "Fix commit 0c24873 in livebook-dev/livebook",
"tags": [
"patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/0c2487326bbb37cb1eb43bb2f76eb93ad9f8fd6b"
},
{
"name": "Fix commit f8fe9c6 in livebook-dev/livebook",
"tags": [
"patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/f8fe9c62cb8bfc1dd0ccda4ea4a57c5e91563c85"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Unescaped deployment environment variables in generated setup commands"
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-66297",
"datePublished": "2026-08-05T19:43:58.068Z",
"dateReserved": "2026-07-24T14:10:01.114Z",
"dateUpdated": "2026-11-10T17:28:38.470Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-66297",
"date": "2026-11-13",
"epss": "0.02469",
"percentile": "0.84757"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook",
"packageURL": "pkg:hex/livebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"versions": [
{
"lessThan": "0.18.7",
"status": "affected",
"version": "0.13.0",
"versionType": "semver"
},
{
"lessThan": "0.19.9",
"status": "affected",
"version": "0.19.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://ghcr.io",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook-dev/livebook",
"packageURL": "pkg:oci/livebook?repository_url=ghcr.io%2Flivebook-dev%2Flivebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"vendor": "livebook-dev",
"versions": [
{
"lessThan": "0.18.7",
"status": "affected",
"version": "0.13.0",
"versionType": "other"
},
{
"lessThan": "0.18.7-cuda12",
"status": "affected",
"version": "0.13.0-cuda12",
"versionType": "other"
},
{
"lessThan": "0.19.9",
"status": "affected",
"version": "0.19.0",
"versionType": "other"
},
{
"lessThan": "0.19.9-cuda12",
"status": "affected",
"version": "0.19.0-cuda12",
"versionType": "other"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook-dev/livebook",
"packageURL": "pkg:github/livebook-dev/livebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"versions": [
{
"changes": [
{
"at": "b2a8416d149043132fe5a14ed611e0fefc9dc9cd",
"status": "unaffected"
},
{
"at": "0c2487326bbb37cb1eb43bb2f76eb93ad9f8fd6b",
"status": "unaffected"
},
{
"at": "f8fe9c62cb8bfc1dd0ccda4ea4a57c5e91563c85",
"status": "unaffected"
}
],
"lessThan": "*",
"status": "affected",
"version": "7cf4af5c10ec645f55a10f30e5661c54f6a6b319",
"versionType": "git"
}
]
}
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:livebook:livebook:*:*:*:*:*:*:*:*",
"matchCriteriaId": "6337F524-91D9-419C-BF55-B8BEBB8C96A2",
"versionEndExcluding": "0.18.7",
"versionStartIncluding": "0.13.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:livebook:livebook:*:*:*:*:*:*:*:*",
"matchCriteriaId": "7B4998A3-46BF-4E69-8642-1156BB3E7480",
"versionEndExcluding": "0.19.9",
"versionStartIncluding": "0.19.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in livebook-dev livebook allows command injection into generated deployment setup commands.\n\nLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2 and LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4 in lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex interpolate deployment group environment variable values into the generated Docker and Fly.io setup commands without shell escaping. The values originate from the deployment group configuration and reach the sinks through Livebook.Hubs.Dockerfile.online_docker_info/3.\n\nBoth sinks place the value inside a double-quoted shell word, so a value containing a command substitution such as $(...) or backticks is evaluated by the shell without any need to break out of the quoting, and a literal double quote terminates the quoted word and allows arbitrary further tokens. The generated command is displayed in the Livebook web interface with a copy button, so a user who copies it and runs it without reviewing it first executes the injected commands on their own machine, under their own account.\n\nAn attacker requires privileges sufficient to set deployment group environment variables, while the resulting code execution occurs on the machine of whoever runs the generated command. The Kubernetes instructions are not affected, because they render the same values into a YAML manifest with escaping rather than into a shell command.\n\nThis issue affects livebook: from 0.13.0 before 0.18.7 and from 0.19.0 before 0.19.9."
},
{
"lang": "es",
"value": "Neutralizaci\u00f3n Inadecuada de Elementos Especiales utilizados en un Comando de SO (Inyecci\u00f3n de Comandos de SO) vulnerabilidad en livebook-dev livebook permite la inyecci\u00f3n de comandos de configuraci\u00f3n de despliegue generados.\n\nLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2 y LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4 en lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex interpolan valores de variables de entorno del grupo de despliegue en los comandos de configuraci\u00f3n de Docker y Fly.io generados sin escape de shell. Los valores se originan en la configuraci\u00f3n del grupo de despliegue y llegan a los \u2019sinks\u2019 a trav\u00e9s de Livebook.Hubs.Dockerfile.online_docker_info/3.\n\nAmbos \u2019sinks\u2019 colocan el valor dentro de una palabra de shell entre comillas dobles, por lo que un valor que contenga una sustituci\u00f3n de comando como $(...) o backticks es evaluado por el shell sin necesidad de salir de las comillas, y una comilla doble literal termina la palabra entre comillas y permite tokens arbitrarios adicionales. El comando generado se muestra en la interfaz web de Livebook con un bot\u00f3n de copiar, por lo que un usuario que lo copia y lo ejecuta sin revisarlo primero ejecuta los comandos inyectados en su propia m\u00e1quina, bajo su propia cuenta.\n\nUn atacante requiere privilegios suficientes para establecer variables de entorno del grupo de despliegue, mientras que la ejecuci\u00f3n de c\u00f3digo resultante ocurre en la m\u00e1quina de quien ejecuta el comando generado. Las instrucciones de Kubernetes no se ven afectadas, porque renderizan los mismos valores en un manifiesto YAML con escape en lugar de en un comando de shell.\n\nEste problema afecta a livebook: desde 0.13.0 antes de 0.18.7 y desde 0.19.0 antes de 0.19.9."
}
],
"id": "CVE-2026-66297",
"lastModified": "2026-11-10T18:17:46.687",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "HIGH",
"baseScore": 8.0,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "REQUIRED",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 2.1,
"impactScore": 5.9,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"cvssMetricV40": [
{
"cvssData": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"availabilityRequirement": "NOT_DEFINED",
"baseScore": 5.0,
"baseSeverity": "MEDIUM",
"confidentialityRequirement": "NOT_DEFINED",
"exploitMaturity": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"privilegesRequired": "HIGH",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "ACTIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H/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",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"type": "Secondary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-66297",
"options": [
{
"exploitation": "poc"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-06T13:04:06.826223Z",
"version": "2.0.3"
}
}
]
},
"published": "2026-08-05T20:17:11.743",
"references": [
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Vendor Advisory"
],
"url": "https://cna.erlef.org/cves/CVE-2026-66297.html"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/0c2487326bbb37cb1eb43bb2f76eb93ad9f8fd6b"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"url": "https://github.com/livebook-dev/livebook/commit/7cf4af5c10ec645f55a10f30e5661c54f6a6b319"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/b2a8416d149043132fe5a14ed611e0fefc9dc9cd"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/f8fe9c62cb8bfc1dd0ccda4ea4a57c5e91563c85"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Exploit",
"Patch",
"Vendor Advisory"
],
"url": "https://github.com/livebook-dev/livebook/security/advisories/GHSA-qpjc-w5mm-73mj"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"tags": [
"Third Party Advisory"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-66297"
},
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"tags": [
"Exploit",
"Patch",
"Vendor Advisory"
],
"url": "https://github.com/livebook-dev/livebook/security/advisories/GHSA-qpjc-w5mm-73mj"
}
],
"sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"vulnStatus": "Modified",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-78"
}
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"type": "Secondary"
}
]
}
},
"vulnrichment": {
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-66297",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-08-06T13:04:06.826223Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-08-06T13:04:27.258Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/livebook-dev/livebook/security/advisories/GHSA-qpjc-w5mm-73mj"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook",
"packageURL": "pkg:hex/livebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"versions": [
{
"lessThan": "0.18.7",
"status": "affected",
"version": "0.13.0",
"versionType": "semver"
},
{
"lessThan": "0.19.9",
"status": "affected",
"version": "0.19.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://ghcr.io",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook-dev/livebook",
"packageURL": "pkg:oci/livebook?repository_url=ghcr.io%2Flivebook-dev%2Flivebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"vendor": "livebook-dev",
"versions": [
{
"lessThan": "0.18.7",
"status": "affected",
"version": "0.13.0",
"versionType": "other"
},
{
"lessThan": "0.18.7-cuda12",
"status": "affected",
"version": "0.13.0-cuda12",
"versionType": "other"
},
{
"lessThan": "0.19.9",
"status": "affected",
"version": "0.19.0",
"versionType": "other"
},
{
"lessThan": "0.19.9-cuda12",
"status": "affected",
"version": "0.19.0-cuda12",
"versionType": "other"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent"
],
"packageName": "livebook-dev/livebook",
"packageURL": "pkg:github/livebook-dev/livebook",
"product": "livebook",
"programFiles": [
"lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:docker_instructions/2"
},
{
"name": "\u0027Elixir.LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent\u0027:fly_instructions/4"
}
],
"repo": "https://github.com/livebook-dev/livebook",
"vendor": "livebook-dev",
"versions": [
{
"changes": [
{
"at": "b2a8416d149043132fe5a14ed611e0fefc9dc9cd",
"status": "unaffected"
},
{
"at": "0c2487326bbb37cb1eb43bb2f76eb93ad9f8fd6b",
"status": "unaffected"
},
{
"at": "f8fe9c62cb8bfc1dd0ccda4ea4a57c5e91563c85",
"status": "unaffected"
}
],
"lessThan": "*",
"status": "affected",
"version": "7cf4af5c10ec645f55a10f30e5661c54f6a6b319",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.18.7",
"versionStartIncluding": "0.13.0",
"vulnerable": true
},
{
"criteria": "cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.19.9",
"versionStartIncluding": "0.19.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Nguy\u1ec5n C\u00f4ng T\u00fa"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Jonatan K\u0142osko"
},
{
"lang": "en",
"type": "remediation reviewer",
"value": "Jos\u00e9 Valim"
},
{
"lang": "en",
"type": "analyst",
"value": "Jonatan M\u00e4nnchen / EEF"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eImproper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in livebook-dev livebook allows command injection into generated deployment setup commands.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2\u003c/code\u003e and \u003ccode\u003eLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4\u003c/code\u003e in \u003ccode\u003elib/livebook_web/live/hub/teams/deployment_group_agent_component.ex\u003c/code\u003e interpolate deployment group environment variable values into the generated Docker and Fly.io setup commands without shell escaping. The values originate from the deployment group configuration and reach the sinks through \u003ccode\u003eLivebook.Hubs.Dockerfile.online_docker_info/3\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eBoth sinks place the value inside a double-quoted shell word, so a value containing a command substitution such as \u003ccode\u003e$(...)\u003c/code\u003e or backticks is evaluated by the shell without any need to break out of the quoting, and a literal double quote terminates the quoted word and allows arbitrary further tokens. The generated command is displayed in the Livebook web interface with a copy button, so a user who copies it and runs it without reviewing it first executes the injected commands on their own machine, under their own account.\u003c/p\u003e\n\u003cp\u003eAn attacker requires privileges sufficient to set deployment group environment variables, while the resulting code execution occurs on the machine of whoever runs the generated command. The Kubernetes instructions are not affected, because they render the same values into a YAML manifest with escaping rather than into a shell command.\u003c/p\u003e\n\u003cp\u003eThis issue affects livebook: from 0.13.0 before 0.18.7 and from 0.19.0 before 0.19.9.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in livebook-dev livebook allows command injection into generated deployment setup commands.\n\n`LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2` and `LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4` in `lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex` interpolate deployment group environment variable values into the generated Docker and Fly.io setup commands without shell escaping. The values originate from the deployment group configuration and reach the sinks through `Livebook.Hubs.Dockerfile.online_docker_info/3`.\n\nBoth sinks place the value inside a double-quoted shell word, so a value containing a command substitution such as `$(...)` or backticks is evaluated by the shell without any need to break out of the quoting, and a literal double quote terminates the quoted word and allows arbitrary further tokens. The generated command is displayed in the Livebook web interface with a copy button, so a user who copies it and runs it without reviewing it first executes the injected commands on their own machine, under their own account.\n\nAn attacker requires privileges sufficient to set deployment group environment variables, while the resulting code execution occurs on the machine of whoever runs the generated command. The Kubernetes instructions are not affected, because they render the same values into a YAML manifest with escaping rather than into a shell command.\n\nThis issue affects livebook: from 0.13.0 before 0.18.7 and from 0.19.0 before 0.19.9."
}
],
"value": "Improper Neutralization of Special Elements used in an OS Command (OS Command Injection) vulnerability in livebook-dev livebook allows command injection into generated deployment setup commands.\n\nLivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.docker_instructions/2 and LivebookWeb.Hub.Teams.DeploymentGroupAgentComponent.fly_instructions/4 in lib/livebook_web/live/hub/teams/deployment_group_agent_component.ex interpolate deployment group environment variable values into the generated Docker and Fly.io setup commands without shell escaping. The values originate from the deployment group configuration and reach the sinks through Livebook.Hubs.Dockerfile.online_docker_info/3.\n\nBoth sinks place the value inside a double-quoted shell word, so a value containing a command substitution such as $(...) or backticks is evaluated by the shell without any need to break out of the quoting, and a literal double quote terminates the quoted word and allows arbitrary further tokens. The generated command is displayed in the Livebook web interface with a copy button, so a user who copies it and runs it without reviewing it first executes the injected commands on their own machine, under their own account.\n\nAn attacker requires privileges sufficient to set deployment group environment variables, while the resulting code execution occurs on the machine of whoever runs the generated command. The Kubernetes instructions are not affected, because they render the same values into a YAML manifest with escaping rather than into a shell command.\n\nThis issue affects livebook: from 0.13.0 before 0.18.7 and from 0.19.0 before 0.19.9."
}
],
"impacts": [
{
"capecId": "CAPEC-88",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-88 OS Command Injection"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 5,
"baseSeverity": "MEDIUM",
"privilegesRequired": "HIGH",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "HIGH",
"subIntegrityImpact": "HIGH",
"userInteraction": "ACTIVE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:H/UI:A/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-78",
"description": "CWE-78 Improper Neutralization of Special Elements used in an OS Command",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-11-10T17:28:38.470Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"name": "Unescaped deployment environment variables in generated setup commands",
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/livebook-dev/livebook/security/advisories/GHSA-qpjc-w5mm-73mj"
},
{
"name": "EEF CNA record for CVE-2026-66297",
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-66297.html"
},
{
"name": "OSV record EEF-CVE-2026-66297",
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-66297"
},
{
"name": "Introducing commit 7cf4af5 in livebook-dev/livebook",
"tags": [
"related"
],
"url": "https://github.com/livebook-dev/livebook/commit/7cf4af5c10ec645f55a10f30e5661c54f6a6b319"
},
{
"name": "Fix commit b2a8416 in livebook-dev/livebook",
"tags": [
"patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/b2a8416d149043132fe5a14ed611e0fefc9dc9cd"
},
{
"name": "Fix commit 0c24873 in livebook-dev/livebook",
"tags": [
"patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/0c2487326bbb37cb1eb43bb2f76eb93ad9f8fd6b"
},
{
"name": "Fix commit f8fe9c6 in livebook-dev/livebook",
"tags": [
"patch"
],
"url": "https://github.com/livebook-dev/livebook/commit/f8fe9c62cb8bfc1dd0ccda4ea4a57c5e91563c85"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Unescaped deployment environment variables in generated setup commands"
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-66297",
"datePublished": "2026-08-05T19:43:58.068Z",
"dateReserved": "2026-07-24T14:10:01.114Z",
"dateUpdated": "2026-11-10T17:28:38.470Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
How durations are calculated
Following the VTEM framework (Black Hat USA 2015), time to patch starts when the vendor or a coordinator was informed, total time to patch at discovery, and disclosure to patch at public disclosure; vendor response time runs from the report to its acknowledgement. Time to exploit and time unpatched start at the earliest discovery or report, falling back to public disclosure. Unpatched time ends at the first recorded patch, or the calculation time when no patch is recorded. Exploitation to patch shows the interval between those two events; a published proof of concept is a public exploit, not exploitation.
Each result shows its source dates. A negative interval means the end event came first; when date-only inputs leave the order open, the result says so. Date-only inputs are approximate. The earliest evidence wins: KEV report dates and sightings are labelled as such. Records describing another vulnerability are listed but never calculated from, and a PoC alone does not establish exploitation. Missing patch evidence does not prove that no patch exists. Filters below change the event list only.
Loading timeline…
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.