Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to ConvertX instance
-
DeliveryUpload crafted .recipe file
-
ExploitCalibre converter passes file to ebook-convert
-
ExecutionEmbedded Python recipe code executes
-
ImpactArbitrary code execution on host (root pre-0.19.0)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Trusted source inclusion only
|
| Exploitation Conditions | Requires an authenticated low-privileged ConvertX account (PR:L) on an instance running a version before 0.19.0, and the ability to submit a conversion job to the Calibre converter path (converters/calibre.ts) supplying a file with a .recipe or .downloaded_recipe extension containing attacker Python. No special non-default configuration is needed - the converter accepted recipe files by default. Limiting factors: attacker must hold valid credentials (so exposure depends on whether registration is open or accounts are shared), the Calibre/ebook-convert conversion path must be available, and impact severity depends on the run-as user (root before 0.19.0, reducible via the new PUID/PGID setting). |
| Impact | This is a genuine high-priority issue, not an inflated CVSS score. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) with full high impact to both the vulnerable system (VC:H/VI:H/VA:H) and subsequent systems (SC:H/SI:H/SA:H) is consistent with the technical reality: Calibre .recipe/.downloaded_recipe files are executable Python, and ConvertX's converters/calibre.ts passed them to ebook-convert without restriction, yielding server-side code execution. The impact is amplified by the release note confirming that before 0.19.0 the container ran as root, so code execution was effectively root-level - this aligns with the subsequent-system (SC/SI/SA:H) ratings. PR:L is the key moderating signal: exploitation requires an authenticated low-privileged account, so this is not a fully anonymous internet-wide RCE. No EPSS score, KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or automated weaponization at this time; the priority rests on the severity and ease of the flaw rather than observed in-the-wild activity. CWE-829 (inclusion of functionality from an untrusted control sphere) accurately characterizes the root cause. Note a tagging conflict: the input tags this as 'Information Disclosure', but the description and CWE describe arbitrary code execution - treat this as RCE, not mere disclosure. |
| Exploit ScenarioDerived | An authenticated ConvertX user uploads a malicious .recipe (or .downloaded_recipe) file and selects the Calibre converter; ConvertX hands the file to ebook-convert, which executes the attacker's embedded Python code on the server. Because pre-0.19.0 deployments ran the conversion process as root, the attacker gains root-level code execution on the host. No public exploit identified at time of analysis, but crafting a weaponized recipe is trivial given that Calibre recipes are documented Python. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 03, 2026
Authenticated low-privileged users of ConvertX before 0.19.0 can execute arbitrary Python code on the server by submitting a crafted Calibre recipe file to the conversion workflow. The flaw resides in converters/calibre.ts, which passes .recipe and .downloaded_recipe files to Calibre's ebook-convert without blocking executable recipe code (CWE-829), leading to high confidentiality, integrity, and availability impact; severity depends on the account running the conversion (root before 0.19.0, reducible with the new PUID/PGID setting). No public exploit was identified at time of analysis, and the vendor has released a fix in v0.19.0 as documented in advisory GHSA-m4hh-rqmf-c8hw.
RemediationAI
Upgrade to ConvertX v0.19.0 (vendor-released patch: v0.19.0) using the release at https://github.com/C4illin/ConvertX/releases/tag/v0.19.0, which corresponds to advisory https://github.com/C4illin/ConvertX/security/advisories/GHSA-m4hh-rqmf-c8hw and commit https://github.com/C4illin/ConvertX/commit/0ca17dad7fa65e2e34823b59b95dd00bb1066b66. If immediate upgrade is not possible, restrict account creation and access so only trusted users can submit conversion jobs, because exploitation requires an authenticated low-privileged account (PR:L); this reduces exposure when registration is open or credentials are shared. As a compensating control, block uploads of .recipe and .downloaded_recipe files at a reverse proxy or disable the Calibre converter path if recipe conversions are not needed; both actions block the vulnerable ebook-convert invocation but will break legitimate recipe-based conversions. Running the service as a non-root user limits the impact of code execution but does not fix the vulnerability; note that the PUID/PGID feature in v0.19.0 is part of the fix release, and older deployments need OS-level user isolation as a trade-off because file permissions must be adjusted.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ConvertX is a self-hosted ebook conversion service that integrates external tools, including Calibre. The vulnerable code in converters/calibre.ts invokes Calibre's ebook-convert CLI with user-supplied files but does not block recipe files. Calibre recipe files (.recipe and .downloaded_recipe) are Python scripts by design, so routing them into ebook-convert allows an attacker to run arbitrary Python under the ConvertX process account. CWE-829 (Inclusion of Functionality from Untrusted Control Sphere) captures the root cause: the application includes functionality from an untrusted source without restriction. The CPE string cpe:2.3:a:c4illin:convertx:*:*:*:*:*:*:*:* covers the ConvertX product line, with all releases before 0.19.0 exposed because they lack recipe-file gating. The container historically ran the conversion process as root unless PUID/PGID was configured, and PUID/PGID support was introduced in v0.19.0; the fixing commit 0ca17dad7fa65e2e34823b59b95dd00bb1066b66 and release v0.19.0 address this issue.
Know when Convertx gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
Authenticated low-priv user (PR:L) uploads executable recipe over the network (AV:N/AC:L); code escapes the app to the host OS (S:C) with full C/I/A impact.
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
2DescriptionCVE.org
In ConvertX before 0.19.0, converters/calibre.ts does not block recipe files, and instead passes them to the ebook-convert program from Calibre. This affects executable code in a .recipe or .downloaded_recipe file.
Executive ViewAI
ConvertX, a document conversion service, contains a critical vulnerability that allows attackers to execute arbitrary code on the underlying server. This could lead to full server compromise, data theft, and service disruption for organizations using affected versions (before 0.19.0), potentially impacting sensitive data and business operations. Given the high severity and potential for significant operational and reputational damage, leadership should prioritize immediate remediation.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Authenticated arbitrary file write in ConvertX versions prior to 0.16.0 allows a low-privilege user to escape the intend
Arbitrary file deletion in ConvertX prior to version 0.17.0 allows authenticated attackers to remove files outside the i
Path traversal in ConvertX (all releases prior to 0.18.0) lets an authenticated user write converted output files to arb
Cross-site request forgery in ConvertX versions prior to 0.18.0 lets an attacker permanently delete an authenticated use
Arbitrary file read in ConvertX 0.17.0 allows authenticated users to exfiltrate files accessible to the server process b
Authenticated file read in ConvertX through 0.19.0 allows any logged-in user to retrieve arbitrary files from the server
EUVD-2026-91868
GHSA-6w7x-66x4-9w6v
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB