# CVE-2025-53000: nbconvert RCE — Fixed in 7.17.0

🐍 PyPI

Not in CISA KEV

# CVE-2025-53000 — nbconvert

[Fix: jupyter/nbconvert@c9ac1d1](https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71)

CVE-2025-53000 is a CWE-427 vulnerability in nbconvert. A fix is available for nbconvert — see the affected versions and patch details below.

nbconvert has an uncontrolled search path that leads to unauthorized code execution on Windows

Also known as[GHSA-xm59-rqc7-hhvf](/vulnerability/GHSA-xm59-rqc7-hhvf)PYSEC-2026-1691

Published

Dec 17, 2025

Updated

Oct 28, 2026

Affected

1 pkg

Patched

1 / 1

Exploits

None indexed

Exploitation data as of Nov 9, 2026 · OSV.dev, NVD, FIRST.org (EPSS)

## Exploitation Status

### Proof-of-concept exploit code exists

-   CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
-   A successful exploit gives an attacker total control of the affected component, not partial access.

Exploitation and automatability from CISA’s SSVC triage for CVE-2025-53000.

## EPSS Exploitation Probability

[via FIRST.org ↗](https://www.first.org/epss/)

0.3%probability of exploitation in next 30 days

Lower Risk0.00%

Lower risk than most CVEs18th percentile — riskier than 18% of all scored CVEsHighest risk

0.00%0.25%0.51%0.76%0.0%0.3%May 26Sep 26Nov 26

Probability of exploitation in the next 30 days, from [FIRST.org EPSS](https://www.first.org/epss/).

## Real-World Exposure

1 pkg affected

🐍`nbconvert`

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects PyPI packages — download data is not available via public APIs for these ecosystems.

## Description

#### Summary

On Windows, 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](https://en.wikipedia.org/wiki/Batch_file), 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.

#### Details

_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._

`nbconvert` searches for an `inkscape` executable when converting notebooks to PDFs here: [https://github.com/jupyter/nbconvert/blob/4f61702f5c7524d8a3c4ac0d5fc33a6ac2fa36a7/nbconvert/preprocessors/svg2pdf.py#L104](https://github.com/jupyter/nbconvert/blob/4f61702f5c7524d8a3c4ac0d5fc33a6ac2fa36a7/nbconvert/preprocessors/svg2pdf.py#L104)

The MITRE page on [CWE-427 (Uncontrolled Search Path Element)](https://cwe.mitre.org/data/definitions/427.html) summarizes the root cause succinctly:

> In Windows-based systems, when the `LoadLibrary` or `LoadLibraryEx` function is called with a DLL name that does not contain a fully qualified path, the function follows a search order that includes two path elements that might be uncontrolled:
> 
> -   the directory from which the program has been loaded
> -   the current working directory

#### PoC

_Complete instructions, including specific configuration details, to reproduce the vulnerability._

1.  Create a directory containing:
    
    -   A hidden bat file called `inkscape.bat` containing `msg * "You've been hacked!"`
        
    -   A dummy ipynb file called `Machine_Learning.ipynb`
        
2.  Run the command `jupyter nbconvert --to pdf Machine_Learning.ipynb`.
    
3.  Wait a few seconds, and you should see a popup showing the message "You've been hacked!"
    

#### Impact

All Windows users.

## Affected Packages

1 total 1 fixed

Ecosystem

Package

Vulnerable range

Fix

🐍PyPI

`nbconvert` 

all versions

7.17.0`pip install --upgrade 'nbconvert==7.17.0'`

## Affected Products

1 product · 1 configurations

Application

`nbconvert`jupyter

≤ 7.16.6

range

## Detection & mitigation playbook

Open-source dependency

1.  ### Detect
    
    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for nbconvert, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
    
2.  ### Fix
    
    Update nbconvert to 7.17.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2025-53000 is resolved across your whole dependency graph.
    
3.  ### Workarounds
    
    If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
    

## Frequently Asked Questions

\### Summary On Windows, 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\](https://en.wikipedia.org/wiki/Batch\_file), 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. ### Details \_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maint

O3 Security · Impact-Aware SCA

### Is CVE-2025-53000 in your dependencies?

Find it across PyPI, including transitive dependencies.

[Scan my dependencies](/book-demo) [How O3 SCA works](/impact-aware-sca)