Skip to main content

Koodo Reader CVE-2026-55408

| EUVDEUVD-2026-42107 HIGH
Code Injection (CWE-94)
2026-07-07 GitHub_M
8.4
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Deliver malicious EPUB to victim
  2. Delivery
    Victim imports and opens book
  3. Exploit
    Chapter HTML rendered via unsanitized innerHTML
  4. Execution
    Payload runs in Node-enabled iframe
  5. Impact
    Execute OS commands as victim user

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the victim to import and then open an attacker-crafted EPUB file inside Koodo Reader 2.3.0 or earlier; the specific enabling conditions are the open-book IPC handler running with nodeIntegrationInSubFrames enabled and EPUB chapter content being rendered through unsanitized innerHTML, which together let book-supplied markup reach Node.js APIs. Limiting factors: this is not remote/network exploitation - the CVSS vector is AV:L with UI:A, so the attacker must first deliver the malicious book to the target and the target must actively load it; there is no application-side privilege requirement (PR:N), but the resulting commands run only with the victim user's existing OS privileges. It affects default configurations of the vulnerable desktop builds - the victim needs no non-default setting - and no additional authentication is involved.

Impact

The provided CVSS 4.0 score is 8.4 (High) with vector AV:L/AC:L/AT:N/PR:N/UI:A and full VC/VI/VA:H - meaning complete compromise of the local system but gated behind local delivery and required user interaction (importing and opening a crafted book). The impact is genuinely severe, yet this is not a mass-exploitable network flaw: AV:L and UI:A mean the victim must be socially engineered into loading an attacker's EPUB, which favors targeted rather than opportunistic exploitation. No EPSS score, KEV entry, POC, or SSVC decision was provided, so exploitation status remains 'no public exploit identified at time of analysis' and should not be inflated to 'in the wild.' The signals are internally consistent - the description (needs a malicious file to be opened) does not conflict with the CVSS vector (local, user interaction). Net priority is moderate-to-high for organizations that actually run Koodo Reader and whose users import untrusted ebooks, and low for everyone else.

Exploit ScenarioDerived

An attacker crafts an EPUB whose chapter HTML embeds JavaScript that, when rendered via innerHTML inside the Node-enabled iframe, invokes Node's child_process to run OS commands. They distribute it as a free book download, email attachment, or shared library file; when the victim imports and opens it in a vulnerable Koodo Reader, the payload silently executes with the victim's privileges. No public POC is currently identified, but the attack requires only local delivery (AV:L) and a single user action (UI:A) at low complexity.

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

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

Alert me

AnalysisAIv1 – Jul 07, 2026

Remote code execution in Koodo Reader (versions 2.3.0 and earlier) lets an attacker who supplies a malicious EPUB file run arbitrary OS commands with the victim's privileges once the book is imported and opened. The flaw combines a dangerously permissive Electron IPC handler (nodeIntegrationInSubFrames enabled) with unsanitized innerHTML rendering of chapter content, turning ebook display into a Node.js code-execution primitive. No public exploit has been identified at time of analysis; the issue is fixed in version 2.3.1 and is not listed in CISA KEV.

RemediationAI

Vendor-released patch: upgrade to Koodo Reader 2.3.1, which remediates the issue by removing the unsafe Node.js access path and/or sanitizing rendered EPUB content; see the advisory at https://github.com/koodo-reader/koodo-reader/security/advisories/GHSA-mjr7-w4jq-2rq9. Until the update is applied, the practical compensating control is to refuse to import or open EPUB files from untrusted or unverified sources, since exploitation depends entirely on the victim loading an attacker-supplied book - the trade-off is that this relies on user discipline and blocks legitimately sideloaded books. Where possible, run Koodo Reader under a low-privilege OS account so that any command execution inherits reduced permissions, and open untrusted ebooks only inside a sandboxed or disposable VM; the side effect is added friction for users who routinely load third-party EPUBs.

Affected VersionsENISA

koodo-reader < 2.3.1

Affected Packages

euvd koodo_reader fix: 2.3.1

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

Koodo Reader is a cross-platform Electron-based ebook reader (cpe:2.3:a:koodo-reader:koodo-reader). The root cause is CWE-94 (Improper Control of Generation of Code / Code Injection): EPUB chapter HTML is injected into the DOM via unsanitized innerHTML, so scripts and markup embedded in a book execute in the renderer. Critically, the open-book IPC handler instantiates chapter content in an iframe with nodeIntegrationInSubFrames enabled, which grants that subframe access to Node.js APIs (require, child_process, etc.). Electron's normal renderer isolation is intended to keep web-like content away from Node; enabling nodeIntegrationInSubFrames plus HTML injection collapses that boundary and lets book-supplied JavaScript reach the operating system.

Know when Koodo Reader 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 (GitHub_M) PRIMARY 8.4 HIGH
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

Exploitation needs a locally delivered malicious EPUB the user must open (AV:L, UI:R), no app authentication (PR:N), and yields full host code execution (C/I/A:H).

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:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Jul 07, 2026 - 23:01 EUVD

DescriptionCVE.org

Koodo Reader is an ebook reader. In version 2.3.0 and earlier, Koodo Reader is vulnerable to remote code execution through malicious EPUB files because the open-book IPC handler enables nodeIntegrationInSubFrames and EPUB chapter content is rendered with unsanitized innerHTML. An attacker can craft an EPUB book that, when imported and opened by the victim, instantiates a hidden iframe with Node.js API access and executes arbitrary operating system commands with the victim user's privileges. This issue is fixed in version 2.3.1.

Executive ViewAI

Why It Matters

Koodo Reader versions 2.3.0 and earlier allow attackers to execute arbitrary code on affected systems when users open malicious EPUB files, creating a direct path to endpoint and data compromise. With CVSS 8.4 severity and no public exploit identified at time of analysis, organizations should prioritize patching to this application before it becomes a target for mass attack campaigns.

Business Impact: High
Compensating Controls

Vendor-released patch: version 2.3.1

Threat Intelligence Overview

EPSS Score
0.2%
Top 91% exploitable
Prevalence
Low
niche open-source desktop ebook reader, limited enterprise footprint
Social Media
1
Sightings
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 0.2%
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
Poc
System Exposure· derived
Small
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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