Skip to main content

buildebooks EUVDEUVD-2026-101265

| CVE-2026-110637 HIGH
OS Command Injection (CWE-78)
2026-10-14 VulnCheck GHSA-xq9r-4xcp-j7fm
8.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious book project with shell metacharacters in filename
  2. Delivery
    Deliver project to victim (repo/share)
  3. Exploit
    Victim builds with kindle:true invoking kindlegen
  4. Execution
    child_process.exec concatenates name and runs shell
  5. Impact
    Execute 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 1.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

buildebooks 0 <0.2.2

Affected Packages

euvd buildebooks fix: 0.2.2

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

Vendor (VulnCheck) PRIMARY 8.5 HIGH
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
vuln.today AI 7.8 HIGH

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).

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
1.1%
Top 34% exploitable
Prevalence
Rare
obscure Node.js ebook-build CLI, hobby-scale npm footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 1.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +42
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy