Safeguard
Vulnerability Analysis•

CVE-2026-66881: High Path Traversal in Livebook Notebook Import

CVE-2026-66881 is a high path traversal flaw in Livebook (record 8.1, advisory 7.0) that lets a notebook write a file to a chosen path. Upgrade to 0.18.7 or 0.19.9.

Safeguard Security Team
4 min read

CVE-2026-66881 is a high severity relative path traversal flaw in Livebook. A crafted notebook can make Livebook write a file with attacker chosen content to a path outside its cache folder. The record scores it 8.1 and the advisory 7.0. Livebook 0.18.7 and 0.19.9 fix it.

What's affected

Livebook, from 0.11.0 before 0.18.7 and from 0.19.0 before 0.19.9. Patched versions are 0.18.7 and 0.19.9.

The two sources differ on score. The record gives 8.1. The Livebook GitHub advisory rates it High with a CVSS v4 score of 7.0. Both fall in the High band, and the gap comes from different scoring versions and assumptions.

The weakness is CWE-23. The advisory describes a notebook format that can declare file entries, each with a name. Every user interface path validates that name as a flat filename. The import path does not, and it takes the name straight from the notebook source. For a URL type entry, the session then resolves the name under its temporary directory without checking that the result stays inside it.

How to check if you're exposed

Find your Livebook version in the Livebook interface, or from the image tag if you run the container. For a container deployment:

docker image ls ghcr.io/livebook-dev/livebook

Compare your version with the ranges above. A version below 0.18.7 (down to the lower bound named above), or from 0.19.0 up to but not including 0.19.9, is in scope. The cuda12 image variants follow the same ranges. If you installed from Hex, check the version of the livebook package you installed.

The exposure depends on opening notebooks from untrusted sources and then running a cell that downloads from a URL, or downloading the entry from the interface. The advisory says the attacker needs no account on the target instance. It also notes that URL type entries are not placed under the notebook stamping quarantine on import, so no warning is shown.

What to do now

  1. Upgrade Livebook to 0.18.7 or 0.19.9.
  2. Do not run download cells or fetch file entries in notebooks from sources you do not trust.
  3. Run Livebook as a user with limited write access, so a stray write cannot reach sensitive paths.
  4. For container deployments, mount only the folders that Livebook needs.
  5. Paste your dependency file into the free in-browser scan at gold.safeguard.sh/scan to see which of your projects pull in an affected version.

Why it matters

Path traversal turns a filename into a route out of the folder the software meant to use. When the software then writes a downloaded body to the resolved place, the attacker controls both the destination and the bytes. The advisory says the write may land anywhere the Livebook process can write.

That is why least privilege matters here. A Livebook process that can only write to its own data folder limits the damage, and one that runs as a powerful user does not. The advisory names a sibling function that already performs the containment check these paths lacked, so the fix follows a pattern the codebase already used.

No source I reviewed says this CVE is exploited in the wild, and the record's KEV flag is false.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Does the attacker need an account on my Livebook?

No. The advisory says the victim triggers the write within their own session after opening the attacker's notebook.

Are Docker images affected?

Yes, the advisory lists the container images, including the cuda12 variants, in the same version ranges.

Sources

Last reviewed: 18 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.