CVE-2026-57565: medium-severity vulnerability in readest
Readest: Cross-tenant object write via unsanitized fileName in /api/storage/upload (object-key path traversal)
Published · Updated
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
13Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackcvss 6.5epss 1.0%
Readest is a modern, feature-rich ebook reader designed for seamless cross-platform access and an intuitive reading experience. Prior to 0.11.10, the apps/readest-app/src/pages/api/storage/upload.ts route constructed an object key from the authenticated user's identifier and a client-controlled fileName without rejecting path separators or parent-directory traversal. In the R2 backend, apps/readest-app/src/utils/r2.ts placed that key into a new Request URL before signing it, and URL normalization collapsed parent-directory components so the resulting presigned PUT could escape the caller's namespace. An authenticated attacker who knew a target user identifier and book hash could overwrite or poison that user's stored book object and corrupt the associated file_key metadata; the exact cross-tenant escape was verified for the R2 backend. This issue is fixed in version 0.11.10.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Affected products
readest · readestRelated CVEs — readest
In the same product, most dangerous first.
CVE-2026-82642HIGHReadest: unsanitized iframe srcdoc attribute in the EPUB sanitizer can lead to arbitrary code executionEPSS 0.7%CVE-2026-57567HIGHReadest: Unscoped Tauri IPC download_file/upload_file allow arbitrary local file write and read from the webviewEPSS 0.7%CVE-2026-57566CRITICALReadest: Unauthenticated SSRF / open request proxy in /api/opds/proxyEPSS 0.6%CVE-2026-57562MEDIUMReadest: Subscription/entitlement hijack: /api/stripe/check binds any paid Checkout Session to the callerEPSS 0.4%