Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious book project with shell metacharacters in filename
-
DeliveryDeliver project to victim (repo/share)
-
ExploitVictim builds with kindle:true invoking kindlegen
-
Executionchild_process.exec concatenates name and runs shell
-
ImpactExecute arbitrary OS commands as build user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the victim process an attacker-controlled buildebooks project with the Kindle output path enabled (kindle: true), which routes through lib/kindle.js and the kindlegen invocation. The concrete injection vector is the EPUB file name - specifically a malicious front-matter filename or project folder name - which pre-patch was concatenated into a shell command string passed to child_process.exec. Limiting factors: this is local/offline exploitation (AV:L) with required user interaction (UI:P) - the victim must actually run a build over the malicious project - and kindlegen/the Kindle build path must be in use; there is no remote or network-triggered path, and code executes only with the privileges of the user running buildebooks. |
| Impact | Signals are mostly consistent and point to a genuine-but-contained risk rather than a widespread emergency. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P) correctly describes a local, user-interaction-dependent flaw: the vendor-assigned 8.5 is driven by the full VC:H/VI:H/VA:H impact (arbitrary command execution) rather than by easy remote reach. There is no EPSS score in the input and the CVE is not in CISA KEV, so there is no public-scale exploitation signal; exploitation status is best described as no public exploit identified at time of analysis (no POC referenced, though the patch PR #12 reveals the exact injection point). The product (wastemobile/buildebooks) is an obscure Node.js ebook-build tool, which further lowers real-world priority despite the high impact score. Note a nuance: the vector is PR:N (so technically 'unauthenticated'), but exploitation is not remote - it requires the victim to locally build an attacker-supplied book project (UI:P), so treating this as a network-exploitable 8.5 would overstate the threat. Net: a real, confirmed code-execution bug worth patching for anyone using the tool on untrusted project input, but low aggregate risk given no exploitation evidence and a tiny deployment footprint. |
| Exploit ScenarioDerived | An attacker publishes or shares a malicious buildebooks project whose front-matter filename or project-folder name embeds shell metacharacters (e.g. backticks or ';'). When a victim runs buildebooks with kindle: true, the crafted name is concatenated into a 'kindlegen <name>' string and passed to child_process.exec, executing the attacker's commands with the victim's privileges. No public exploit is identified, but the patch diff clearly exposes the vulnerable code path, making an exploit trivial to reconstruct. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 14, 2026
OS command injection in buildebooks (wastemobile) versions before 0.2.2 lets a crafted EPUB file name or project folder name break out of the shell command string built in lib/kindle.js and execute arbitrary operating-system commands with the privileges of the user running the build. Exploitation is local rather than network-reachable: the victim must process an attacker-supplied book project with the Kindle output path enabled (kindle: true), which satisfies the user-interaction prerequisite, and no privileges are needed on the attacker's side per the assessed vector (PR:N). No public exploit code or confirmed in-the-wild activity has been identified at time of analysis, but the affected code path is straightforward (a naive string concatenation into child_process.exec) and a vendor fix is available in 0.2.2.
RemediationAI
Upgrade to buildebooks 0.2.2 or later, which is the vendor-released patch: the fix (pull request https://github.com/wastemobile/buildebooks/pull/12, commit 123776c9ef61e8075ada2f7da2f7046f6a8078d9) swaps child_process.exec for child_process.execFile with an argument array, eliminating shell interpretation of the EPUB filename. Advisory details are at https://www.vulncheck.com/advisories/buildebooks-before-0.2.2-os-command-injection-via-kindlegen-epub-file-name. If upgrading immediately is not possible, the most effective compensating control is to avoid building untrusted projects with the Kindle path enabled - set kindle: false (or omit it) in the project configuration so lib/kindle.js is never reached (trade-off: no MOBI output is produced). Additionally, refuse to process EPUB files or project folders whose names contain shell metacharacters such as ;, &, |, $, backticks, spaces or newlines before invoking the build (trade-off: legitimate filenames with punctuation will be rejected). Because the command runs with the privileges of the building user, running buildebooks in a low-privilege container or sandbox account limits the blast radius of any residual injection vector (trade-off: added operational overhead and potential file-permission friction). Note the fix version and advisory URLs above are drawn from the supplied vendor data and should be verified against the upstream repository before deployment.
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
buildebooks is a Node.js tool that assembles EPUB projects and, when Kindle output is requested, shells out to Amazon's KindleGen converter to produce MOBI output. The vulnerable code path lives in lib/kindle.js (the referenced lines 5-12 of the pre-fix file), where the path to the generated EPUB is concatenated directly into a command string and handed to child_process.exec. Because exec spawns a shell, shell metacharacters embedded in the EPUB filename - derived from malicious front-matter names or the project folder name - are interpreted as shell syntax, permitting arbitrary command execution (CWE-78, OS Command Injection). The upstream fix replaces child_process.exec with child_process.execFile and passes the binary and its arguments as separate array elements ('kindlegen', [epubfile]), which avoids shell interpretation entirely; this is the canonical remediation for this class of flaw and confirms the root cause is argument concatenation rather than KindleGen itself. The affected product is tracked as cpe:2.3:a:wastemobile:buildebooks:*:*:*:*:*:*:*:*, i.e. all versions prior to the 0.2.2 fix.
Know when Buildebooks 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:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Attacker supplies a crafted project the victim must locally build, so AV:L and UI:R; no prior auth needed (PR:N); command execution yields full C/I/A at the build user's scope (S:U).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
buildebooks before 0.2.2 contains an OS command injection vulnerability in lib/kindle.js that allows attackers to execute commands by supplying a crafted EPUB file name passed to kindlegen via child_process.exec. Attackers can craft a book project with a malicious front-matter filename or project folder name and kindle: true to execute OS commands as the user running buildebooks.
Executive ViewAI
A high-severity OS command injection flaw in buildebooks (wastemobile) releases before 0.2.2 lets a maliciously named EPUB file or project folder execute arbitrary operating system commands on the machine of anyone running a Kindle-format build, giving an attacker the same access as that user. No public exploit code or confirmed actively exploited activity has been identified at time of analysis, but the vulnerable code path is a simple string concatenation into a shell call and a vendor fix is already available. Leadership should care because exposure is concentrated among staff and build systems that convert externally supplied book projects - typically editorial, publishing, or CI environments - where a single crafted filename can compromise the host and, through it, any credentials or data that host can reach.
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
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
EUVD-2026-101265
GHSA-xq9r-4xcp-j7fm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB