CVE-2026-66881
HighCVSS 8.1Exploitation Probability (EPSS)
Low risk31th percentile - higher than 31% of all known CVEs
Summary
A Relative Path Traversal vulnerability in Livebook allows an attacker-authored notebook to write a file with attacker-controlled content to an arbitrary path. This occurs through importing file_entries metadata from a .livemd notebook without validating file names, enabling escape from the session's temporary directory.
Risk Assessment
An attacker can exploit this to write malicious files (e.g., scripts, configs) to locations accessible by the Livebook process, potentially leading to server compromise or privilege escalation. The victim only needs to open the notebook and trigger the entry fetch; the attacker needs no account on the target instance.
Recommendation
Immediately upgrade Livebook to version 0.18.7 or 0.19.9 (or later) which contain fixes. Additionally, avoid opening notebooks from untrusted sources and restrict the Livebook process permissions to the minimum required.
Other vulnerabilities in Livebook
See all- CVE-2026-68746High
The 'Not Failing Securely' vulnerability in Livebook allows an unauthenticated network client to gain full access to a Livebook server that enforces identity through Livebook Teams. The issue arises from improper handling of an unresolvable deployment group identifier, which disables identity enforcement and grants full privileges.
- CVE-2026-66885Medium
A CSRF vulnerability in Livebook allows an attacker to authenticate a victim's browser session under the attacker's own Livebook Teams identity. The OAuth callback lacks state/nonce verification, enabling session identity substitution.
- CVE-2026-66298High
A vulnerability in Livebook allows untrusted notebook JavaScript to trigger session-wide keyboard shortcuts, including forced evaluation of all cells and runtime restart. The issue stems from missing validation of keyboard events in the iframe and their forwarding to the main page.
- CVE-2026-66297High
An OS Command Injection vulnerability in Livebook allows injection of commands into generated Docker and Fly.io deployment setup commands. Deployment group environment variable values are interpolated into the commands without shell escaping, enabling arbitrary command execution via the shell.
Original NVD description (English source)
Relative Path Traversal vulnerability in livebook-dev livebook allows an attacker-authored notebook to write a file with attacker-controlled content to an arbitrary path. A .livemd notebook can declare file_entries metadata, each entry carrying a name. Every path that creates a file entry through the user interface validates that name with Livebook.Notebook.validate_file_entry_name/2, which requires a flat filename of alphanumerics, dashes, underscores and dots, ending in an extension. The import path does not: Livebook.LiveMarkdown.Import.file_entry_metadata_to_attrs/1 in lib/livebook/live_markdown/import.ex takes the name verbatim from the notebook source. For a URL-type file entry, Livebook.Session.file_entry_cache_file/2 in lib/livebook/session.ex resolves that name beneath the session's temporary directory without checking that the result stays inside it, and Livebook.FileSystem.Utils.resolve_unix_like_path/2 collapses parent-directory segments while clamping only at the filesystem root. When the entry's content is requested and no cached copy exists, Livebook fetches the entry's URL and writes the response body to the resolved path, creating parent directories as needed. The attacker therefore controls both the destination and the contents of the written file, which may land anywhere the Livebook process can write. The same missing containment check is present in Livebook.Session.to_attachment_file_entry/2. A victim who opens an attacker-supplied notebook and causes the entry to be fetched triggers the write within their own authenticated session; the attacker needs no account on the target instance. URL-type entries are also not placed under notebook stamping quarantine on import, so no warning is shown. This issue affects livebook: from 0.11.0 before 0.18.7 and from 0.19.0 before 0.19.9.

