AI and data stack advisories

Severe, 6 weeks606Projects324

606 severe, 6 weeks · 324 projects

JupyterGHSA-pjvx-prjx-h659

Jupyter: arbitrary file write

Jupyter

CVE-2026-114140 · Published Oct 22, 2026

High
Fix: upgrade to 7.17.2 or later
GitHub advisory

Summary

nbconvert <= v7.17.1 has an arbitrary file write vulnerability due to a path traversal in ipynb cell output metadata, more specifically on the filename attribute.

Vulnerable converters : --to markdown, --to latex, --to rst, --to asciidoc.

In ExtractOutputPreprocessor, extractoutput.py:116-119 joins attacker-controlled path to output_files_dir with no canonicalization check, enabling arbitrary file write.

This is a sibling vulnerability of https://github.com/advisories/GHSA-4c99-qj7h-p3vg.

Impact

If a victim runs nbconvert on a malicious ipynb file, it can create some files with arbitrary data in arbitrary locations, i.e. override authorized_keys.

Note that running the cell with jupyter overrides the output, so it would "clean up" malicious cells.

PoC

In a ipynb file:

```json

"cells": [{

"cell_type": "code", "id": "abc123", "execution_count": 1,

"metadata": {}, "source": "# PoC",

"outputs": [{

"output_type": "display_data",

"metadata": {

"filename": "../../../tmp/PWNED.png" # ← traverses outside output_dir

},

"data": {

# minimal valid PNG (1×1 pixel)

"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="

}

}]

}]

`

Patches...

Affected versions

PackageAffectedFixed in
nbconvert
PyPI
>= 5.4.0, < 7.17.27.17.2
Details and references

### Summary nbconvert <= v7.17.1 has an arbitrary file write vulnerability due to a path traversal in ipynb cell output metadata, more specifically on the filename attribute. Vulnerable converters : `--to markdown`, `--to latex`, `--to rst`, `--to asciidoc`. In `ExtractOutputPreprocessor`, `extractoutput.py:116-119` joins attacker-controlled `path` to `output_files_dir` with no canonicalization check, enabling arbitrary file write. This is a sibling vulnerability of https://github.com/advisories/GHSA-4c99-qj7h-p3vg. ### Impact If a victim runs nbconvert on a malicious ipynb file, it can create some files with arbitrary data in arbitrary locations, i.e. override authorized_keys. Note that running the cell with jupyter overrides the output, so it would "clean up" malicious cells. ### PoC In a ipynb file: ```json "cells": [{ "cell_type": "code", "id": "abc123", "execution_count": 1, "metadata": {}, "source": "# PoC", "outputs": [{ "output_type": "display_data", "metadata": { "filename": "../../../tmp/PWNED.png" # ← traverses outside output_dir }, "data": { # minimal valid PNG (1×1 pixel) "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==" } }] }] ``` ### Patches Fixed in - https://github.com/jupyter/nbconvert/commit/ce4bd99aec31d81d759fa8eeb8643179392ec66f - [7.17.2](https://github.com/jupyter/nbconvert/releases/tag/v7.17.2)

CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Severity from
GitHub (reviewed advisory)
Weakness
CWE-22
Also known as
CVE-2026-114140

More Jupyter advisories

All Jupyter