Description
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.
Published: 2026-08-05
Score: 7 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Livebook notebooks allow the definition of file_entries, and when an attacker supplies a notebook with a URL‑type file entry whose name contains directory traversal, the application accepts the filename verbatim and writes the fetched content to that path. Because the name is not validated during import, the attacker controls both the destination and the file contents, enabling arbitrary file creation or overwrite on the server. The weakness is a classic path traversal (CWE‑23) that can compromise confidentiality, integrity, or availability by creating or modifying sensitive files that the Livebook process can write to.

Affected Systems

This issue affects Livebook by livebook-dev. All releases from 0.11.0 up to, but not including, 0.18.7 and from 0.19.0 up to, but not including, 0.19.9 are vulnerable.

Risk and Exploitability

The CVSS score of 7 indicates a high‑severity vulnerability. Although the EPSS score is not available, the lack of a KEV listing suggests no known widespread exploitation yet, but the vulnerability can be abused by any user who opens a malicious notebook; no account is required on the target instance. The attack vector is local to the user who installs the notebook, so the attacker must supply the notebook, but the resulting file write can target server files within the Livebook process’s writeable directories.

Generated by OpenCVE AI on August 5, 2026 at 21:39 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Livebook to a version that includes the fix, starting with 0.18.7 or 0.19.9.
  • If an upgrade is not currently possible, disable the import of notebook file_entries or restrict it to only local files by adjusting the Livebook configuration or firewall rules.
  • As a temporary measure, remove any URL‑type file_entries from the notebook before import, or block external URLs through network controls.

Generated by OpenCVE AI on August 5, 2026 at 21:39 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 05 Aug 2026 20:15:00 +0000

Type Values Removed Values Added
Description 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.
Title Path traversal in imported file_entries name allows arbitrary file write via URL-type entry download
First Time appeared Livebook-dev
Livebook-dev livebook
Weaknesses CWE-23
CPEs cpe:2.3:a:livebook-dev:livebook:*:*:*:*:*:*:*:*
Vendors & Products Livebook-dev
Livebook-dev livebook
References
Metrics cvssV4_0

{'score': 7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

Livebook-dev Livebook
cve-icon MITRE

Status: PUBLISHED

Assigner: EEF

Published:

Updated: 2026-08-05T19:43:48.812Z

Reserved: 2026-07-28T04:15:10.239Z

Link: CVE-2026-66881

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T21:45:04Z

Weaknesses
  • CWE-23

    Relative Path Traversal