{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-57565","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-06-24T18:49:56.206Z","datePublished":"2026-11-04T21:45:21.130Z","dateUpdated":"2026-11-05T20:11:46.274Z"},"containers":{"cna":{"title":"Readest: Cross-tenant object write via unsanitized fileName in /api/storage/upload (object-key path traversal)","problemTypes":[{"descriptions":[{"cweId":"CWE-22","lang":"en","description":"CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"LOW","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}}],"references":[{"name":"https://github.com/readest/readest/security/advisories/GHSA-mfmj-2frf-vhgw","tags":["x_refsource_CONFIRM"],"url":"https://github.com/readest/readest/security/advisories/GHSA-mfmj-2frf-vhgw"},{"name":"https://github.com/readest/readest/pull/4638","tags":["x_refsource_MISC"],"url":"https://github.com/readest/readest/pull/4638"},{"name":"https://github.com/readest/readest/commit/495783d04516d05b2eb10f8f8bad297d436b36de","tags":["x_refsource_MISC"],"url":"https://github.com/readest/readest/commit/495783d04516d05b2eb10f8f8bad297d436b36de"},{"name":"https://github.com/readest/readest/releases/tag/v0.11.10","tags":["x_refsource_MISC"],"url":"https://github.com/readest/readest/releases/tag/v0.11.10"}],"affected":[{"vendor":"readest","product":"readest","versions":[{"version":"< 0.11.10","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-11-04T21:45:21.130Z"},"descriptions":[{"lang":"en","value":"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."}],"source":{"advisory":"GHSA-mfmj-2frf-vhgw","discovery":"UNKNOWN"}},"adp":[{"references":[{"url":"https://github.com/readest/readest/security/advisories/GHSA-mfmj-2frf-vhgw","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-11-05T20:05:26.746679Z","id":"CVE-2026-57565","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-11-05T20:11:46.274Z"}}]}}