{"affected":[{"defaultStatus":"unaffected","ecosystem":"github","packageName":"koodo-reader/koodo-reader","product":"koodo-reader","source":"CNA: VulnCheck","vendor":"koodo-reader","versions":[{"lessThanOrEqual":"2.4.6","status":"affected","version":"0","versionType":"semver"}]}],"cveId":"CVE-2026-121544","cwes":["CWE-22"],"description":"Koodo Reader through 2.4.6 contains a path traversal vulnerability in the self-hosted HTTP server's OPDS handlers that allows authenticated attackers to read files outside the upload directory. Attackers can upload a crafted books.db with a cover value containing ../ sequences, then request /opds/cover/{key} to read files accessible to the server process.","epss":null,"exploits":[{"kind":"exploit","source":"ADP: CISA-ADP","url":"https://github.com/koodo-reader/koodo-reader/issues/1654"}],"kev":null,"metrics":[{"score":6.9,"severity":"medium","source":"CNA: VulnCheck","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","version":"4.0"},{"score":4.9,"severity":"medium","source":"CNA: VulnCheck","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},{"score":6.9,"severity":"medium","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","version":"4.0"},{"score":4.9,"severity":"medium","source":"NVD: disclosure@vulncheck.com","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}],"modifiedAt":1793726290353,"publishedAt":1793719025228,"references":[{"source":"CNA: VulnCheck","tags":["issue-tracking"],"url":"https://github.com/koodo-reader/koodo-reader/issues/1654"},{"source":"CNA: VulnCheck","tags":["product"],"url":"https://github.com/koodo-reader/koodo-reader"},{"source":"CNA: VulnCheck","tags":["patch"],"url":"https://github.com/koodo-reader/koodo-reader/commit/cbc79a1ab5cbbd61c8252d6ab3cc6dbb694663b8"},{"source":"CNA: VulnCheck","tags":["technical-description"],"url":"https://github.com/koodo-reader/koodo-reader/blob/v2.4.6/httpserver/opds.go#L167-L194"},{"source":"CNA: VulnCheck","tags":["technical-description"],"url":"https://github.com/koodo-reader/koodo-reader/blob/v2.4.6/httpserver/opds.go#L384-L431"},{"source":"CNA: VulnCheck","tags":["technical-description"],"url":"https://github.com/koodo-reader/koodo-reader/compare/205539043b0a2afd9fd8bf99ef8434bd1833c2bf...cbc79a1ab5cbbd61c8252d6ab3cc6dbb694663b8"},{"source":"CNA: VulnCheck","tags":["third-party-advisory"],"url":"https://www.vulncheck.com/advisories/koodo-reader-through-2.4.6-path-traversal-via-opds-cover-and-download-handlers"},{"source":"ADP: CISA-ADP","tags":["exploit"],"url":"https://github.com/koodo-reader/koodo-reader/issues/1654"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/koodo-reader/koodo-reader"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/koodo-reader/koodo-reader/blob/v2.4.6/httpserver/opds.go#L167-L194"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/koodo-reader/koodo-reader/blob/v2.4.6/httpserver/opds.go#L384-L431"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/koodo-reader/koodo-reader/commit/cbc79a1ab5cbbd61c8252d6ab3cc6dbb694663b8"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/koodo-reader/koodo-reader/compare/205539043b0a2afd9fd8bf99ef8434bd1833c2bf...cbc79a1ab5cbbd61c8252d6ab3cc6dbb694663b8"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://github.com/koodo-reader/koodo-reader/issues/1654"},{"source":"disclosure@vulncheck.com","tags":[],"url":"https://www.vulncheck.com/advisories/koodo-reader-through-2.4.6-path-traversal-via-opds-cover-and-download-handlers"},{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":[],"url":"https://github.com/koodo-reader/koodo-reader/issues/1654"}],"remediation":[{"kind":"fix","source":"CNA: VulnCheck","text":"The reporting source identifies this reference as a patch. Check the advisory for affected versions and supported release branches.","url":"https://github.com/koodo-reader/koodo-reader/commit/cbc79a1ab5cbbd61c8252d6ab3cc6dbb694663b8"}],"revision":"8cc6694305642e680d2aa88113c5af12a7dcab97e2035519d096fc55010732cc","sources":[{"modifiedAt":1793724561690,"name":"CNA: VulnCheck","retrievedAt":1793725911793,"url":"https://www.cve.org/CVERecord?id=CVE-2026-121544"},{"modifiedAt":1793726290353,"name":"NVD","retrievedAt":1793730100692,"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121544"}],"ssvc":{"assessedAt":1793724529441,"automatable":"no","exploitation":"poc","source":"ADP: CISA-ADP","technicalImpact":"partial"},"status":"published","title":"Koodo Reader through 2.4.6 Path Traversal via OPDS Cover and Download Handlers","updatedAt":1793730100692}