CVE-2026-82642: Readest arbitrary code execution via EPUB iframe srcdoc injection

CVE-2026-82642 · Severity: high · CVSS 8.8 · Published 2026-08-30

Readest is an open-source e-book reader that sanitizes EPUB content before displaying it. A flaw in the sanitizer allowed malicious EPUB files to embed hidden iframes with executable scripts that bypass security checks and gain full access to the application's code execution capabilities. An attacker can craft a malicious e-book that executes arbitrary code when opened, potentially compromising the reader's system.

Technologies: Readest. Vendors: Readest.

Quick answers

Is CVE-2026-82642 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-82642 being exploited in the wild.
How severe is CVE-2026-82642?
High severity, with a CVSS score of 8.8, published 30 August 2026.
Which products and versions are affected?
Readest prior to 0.11.16.
Is there a fix for CVE-2026-82642?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-82642 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-82642?
Check whether you run Readest at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

The vulnerability is an HTML sanitization bypass in Readest's EPUB processing. The DOMPurify sanitizer was configured to forbid only the <script> tag, but DOMPurify does not parse the contents of the srcdoc attribute on <iframe> elements, treating it as an opaque string. An attacker can craft an EPUB with an <iframe srcdoc="<html><script>..."> payload that survives sanitization. When rendered, the iframe (configured with sandbox="allow-same-origin allow-scripts") executes the embedded script with access to parent.parent.__TAURI_INTERNALS__.invoke(), allowing invocation of any Tauri IPC command the application permits. The payload can be made invisible through zero-size or transparent attributes. The fix in version 0.11.16 adds 'iframe', 'object', 'embed' to FORBID_TAGS and 'srcdoc' to FORBID_ATTR.

Affected products

  • Readest Readest prior to 0.11.16

Timeline

  • 2026-08-30: disclosed

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.