CVE-2026-73248

calibre: Bypass of Python template restrictions via nested `template()` leading to RCE

State
Published
Severity
8.5 High
Published
Aug 11, 2026
Updated
Aug 12, 2026
Reserved
Aug 11, 2026

Read the record on cve.org

Description

calibre is an e-book manager. Prior to 9.12.0, calibre processes attacker-controlled composite_template metadata from a malicious EPUB, OPF, PDF, or similar file through program: and a nested template() call whose formatter does not inherit allow_python_templates=False, allowing a nested python: template to reach compile_python_template and execute arbitrary Python code when the file is opened or imported. This issue is fixed in version 9.12.0.

Scores

CVSSScoreVectorSource
4.08.5 HighCVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NGitHub_M

Weaknesses

  • CWE-94 Improper Control of Generation of Code ('Code Injection')
  • CWE-95 Improper Neutralization of Directives in Dynamically Evaluated Code ('Eval Injection')

Affected Products

ProductVersions
calibrekovidgoyal
  • < 9.12.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.