Severity by source
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
File must be processed locally (AV:L) and the victim must add/edit the book (UI:R); no privileges needed (PR:N) and exec() yields full C/I/A impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
calibre is an e-book manager. Prior to 9.10.0, a malicious EPUB, OPF, or PDF file can execute arbitrary Python code when its metadata is read by calibre, including through Add books or Edit books, by embedding a custom column definition with a python: template in calibre:user_metadata that is passed unsanitized to exec() in the template formatter. This issue is fixed in version 9.10.0.
Articles & Coverage 1
AnalysisAI
Arbitrary Python code execution in calibre (e-book manager) before 9.10.0 lets attackers run code on a victim's machine simply by having them import or edit a malicious EPUB, OPF, or PDF. The crafted file embeds a custom column definition containing a python: template inside the calibre:user_metadata field, which calibre passes unsanitized to exec() in its template formatter during routine metadata reading (Add books / Edit books). No public exploit has been identified at time of analysis, but the flaw triggers through normal user workflows, making weaponized e-book files a realistic delivery vector.
Technical ContextAI
calibre is a widely used cross-platform e-book library manager written in Python. It stores per-book custom column definitions as serialized metadata under the calibre:user_metadata key inside e-book files (EPUB/OPF) and PDFs. calibre's template formatter supports a 'python:' template mode intended for user-authored formatting logic, which is evaluated via Python's exec(). The vulnerability (CWE-94, Improper Control of Generation of Code / code injection) arises because metadata parsed from an untrusted, attacker-supplied file is treated as trusted template source and passed to exec() without sanitization or sandboxing. The only affected product per CPE is cpe:2.3:a:kovidgoyal:calibre:*:*:*:*:*:*:*:* across all versions prior to 9.10.0.
RemediationAI
Upgrade to calibre 9.10.0, the vendor-released patch, which stops untrusted python: templates from reaching exec() during metadata parsing (see advisory GHSA-2j4m-2q7x-2c47 and release v9.10.0 at https://github.com/kovidgoyal/calibre/releases/tag/v9.10.0). Until you can upgrade, do not add or edit e-books from untrusted or unverified sources, since metadata is evaluated automatically during Add books and Edit books; where feasible, process untrusted files inside an isolated/sandboxed environment or disposable VM to contain any code execution, accepting the workflow overhead. Organizations distributing e-books internally should validate or strip the calibre:user_metadata field from externally received files before importing them.
Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t
BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser
pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi
The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python
BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.
Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301
In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse
Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne
Same weakness CWE-94 – Code Injection
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42102