{"id":"CVE-2025-53000","aliases":["GHSA-xm59-rqc7-hhvf","PYSEC-2026-1691"],"title":"nbconvert has an uncontrolled search path that leads to unauthorized code execution on Windows","summary":"nbconvert has an uncontrolled search path that leads to unauthorized code execution on Windows","severity":"high","vendor":"nbconvert","product":"nbconvert","ecosystem":"pip","affected":["nbconvert < 7.17.0"],"patched":["nbconvert 7.17.0"],"published":"2025-12-18","updated":"2026-09-10","sourceUpdated":"2026-09-10T03:50:32.307876772Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-xm59-rqc7-hhvf","references":[{"url":"https://github.com/jupyter/nbconvert/security/advisories/GHSA-xm59-rqc7-hhvf"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-53000"},{"url":"https://github.com/jupyter/nbconvert/issues/2258"},{"url":"https://github.com/jupyter/nbconvert/commit/c9ac1d1040459ed1ff9eb34e9918ce5a87cf9d71"},{"url":"https://github.com/jupyter/nbconvert"},{"url":"https://github.com/jupyter/nbconvert/blob/4f61702f5c7524d8a3c4ac0d5fc33a6ac2fa36a7/nbconvert/preprocessors/svg2pdf.py#L104"},{"url":"https://github.com/jupyter/nbconvert/releases/tag/v7.17.0"},{"url":"https://www.imperva.com/blog/code-execution-in-jupyter-notebook-exports"}],"tags":["osv","pip"],"epss":0.0026,"epssPercentile":0.18077,"ingestedAt":"2026-07-08T18:25:54.202Z","slug":"CVE-2025-53000","body":"## Overview\n\n### Summary\n\nOn 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.\n\nWhen 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.\n\n### Details\n_Give all details on the vulnerability. Pointing to the incriminated source code is very helpful for the maintainer._\n\n`nbconvert` searches for an `inkscape` executable when converting notebooks to PDFs here: https://github.com/jupyter/nbconvert/blob/4f61702f5c7524d8a3c4ac0d5fc33a6ac2fa36a7/nbconvert/preprocessors/svg2pdf.py#L104\n\nThe MITRE page on [CWE-427 (Uncontrolled Search Path Element)](https://cwe.mitre.org/data/definitions/427.html) summarizes the root cause succinctly:\n\n> 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:\n> - the directory from which the program has been loaded\n> - the current working directory\n\n### PoC\n\n_Complete instructions, including specific configuration details, to reproduce the vulnerability._\n\n1. Create a directory containing: \n\n    - A hidden bat file called `inkscape.bat` containing `msg * \"You've been hacked!\"`\n\n    - A dummy ipynb file called `Machine_Learning.ipynb`\n\n2. Run the command `jupyter nbconvert --to pdf Machine_Learning.ipynb`.\n\n3. Wait a few seconds, and you should see a popup showing the message \"You've been hacked!\" \n\n### Impact\n\nAll Windows users.\n\n## Affected packages\n\n- `nbconvert < 7.17.0`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `nbconvert 7.17.0`","depth":"twilight","depthScore":41,"depthScoreParts":{"impact":41.3,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}