CVE-2025-53000 json
nbconvert has an uncontrolled search path that leads to unauthorized code execution on Windows
published 2025-12-17 10 mo ago modified 2026-09-10 1 mo ago also EUVD-2025-203957 , GHSA-xm59-rqc7-hhvf , PYSEC-2026-1691
- cvss
- 7.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 17%
- public exploits
- 0
- none known
Summary
The nbconvert tool, jupyter nbconvert, converts Jupyter notebooks to various other formats via Jinja templates. Versions of nbconvert up to and including 7.16.6 on Windows have a vulnerability in which converting a notebook containing SVG output to a PDF results in unauthorized code execution. Specifically, a third party can create a `inkscape.bat` file that defines a Windows batch script, capable of arbitrary code execution. When a user runs `jupyter nbconvert --to pdf` on a notebook containing SVG output to a PDF on a Windows platform from this directory, the `inkscape.bat` file is run unexpectedly. This issue has been patched in version 7.17.0.
Patch / fix
- pypi nbconvert 7.17.0
- jupyter nbconvert 7.17.0
- python-nbconvert openSUSE Tumbleweed 7.17.1-1.1
opensuse advisories openSUSE-SU-2026:10603-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-53000 updated cvss 7.3
nbconvert: nbconvert: Arbitrary code execution via malicious SVG to PDF conversion on Windows
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-pipeline-runtime-minimal-cpu-py312-rhel9, rhoai/odh-pipeline-runtime-pytorch-cuda-py312-rhel9, rhoai/odh-pipeline-runtime-pytorch-rocm-py312-rhel9, rhoai/odh-workbench-jupyter-minimal-cpu-py312-rhel9, rhoai/odh-workbench-jupyter-minimal-cuda-py312-rhel9, rhoai/odh-workbench-jupyter-minimal-rocm-py312-rhel9, +11 more Red Hat Satellite 6 satellite/iop-advisor-engine-rhel9, satellite/iop-insights-engine-rhel9not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 10 mo ago
Exploit prediction
0.26% chance of exploitation in the next 30 days, higher than 17% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- imperva.com https://www.imperva.com/blog/code-execution-in-jupyter-notebook-exports referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| CNA | 4.0 | 8.5 | CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | nbconvert | <7.17.0 |
7.17.0 |
Affected products
- jupyter nbconvert
Classification
- Weakness
-
- CWE-427 Uncontrolled Search Path Element
References
-
github.com
/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71
web
-
imperva.com
/blog/code-execution-in-jupyter-notebook-exports
exploit, web, third-party-advisory
-
github.com
/jupyter/nbconvert/security/advisories/GHSA-xm59-rqc7-hhvf
web
-
github.com
/jupyter/nbconvert/issues/2258
web
-
github.com
/jupyter/nbconvert/blob/4f61702f5c7524d8a3c4ac0d5fc33a6ac2fa36a7/nbconvert/preprocessors/svg2pdf.py#L104
web
-
github.com
/jupyter/nbconvert/releases/tag/v7.17.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2025-53000
advisory
-
github.com
/jupyter/nbconvert
package
-
pypi.org
/project/nbconvert
package
-
github.com
/advisories/GHSA-xm59-rqc7-hhvf
advisory
Sources
- CVE List CVE-2025-53000
- GitHub Advisory GHSA-xm59-rqc7-hhvf
- NVD CVE-2025-53000
- OSV PYSEC-2026-1691
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.