{"id":"CVE-2025-64184","aliases":["EUVD-2025-37861","GHSA-4vcx-3pj3-44m7","PYSEC-2026-1316","UBUNTU-CVE-2025-64184"],"status":"published","title":"Dosage vulnerable to Directory Traversal through crafted HTTP responses","description":"Dosage is a comic strip downloader and archiver. When downloading comic images in versions 3.1 and below, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP Content-Type header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). This issue is fixed in version 3.2.","severity":{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00486,"percentile":0.42308,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2025-11-04T15:31:48Z","modified":"2026-10-28T02:31:05Z","fixes":[{"ecosystem":"PyPI","package":"dosage","fixed_in":["3.2"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2"}]}]},{"source":"osv","ecosystem":"PyPI","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2"}]}],"versions":["1.10","1.11","1.12","1.13","1.14","1.15","1.7","1.8","1.9","2.0","2.1","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.1"]},{"source":"osv","ecosystem":"PyPI","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"3.2"}]}],"versions":["1.10","1.11","1.12","1.13","1.14","1.15","1.7","1.8","1.9","2.0","2.1","2.10","2.11","2.12","2.13","2.14","2.15","2.16","2.17","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.1"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.15-1"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.15-2"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.15-2","2.15-3"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.15-4"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.15-4","3.0+dfsg-1","3.0+dfsg-2"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0+dfsg-2.1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.2-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"dosage","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["3.0+dfsg-2.1","3.0+dfsg-2.1build1","3.2-1"]}],"products":[{"vendor":"webcomics","product":"dosage"}],"references":[{"url":"https://github.com/webcomics/dosage/security/advisories/GHSA-4vcx-3pj3-44m7","tags":["x_refsource_CONFIRM","advisory","web","report"]},{"url":"https://github.com/webcomics/dosage/commit/336a9684191604bc49eed7296b74bd582151181e","tags":["x_refsource_MISC","fix","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-64184","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-4vcx-3pj3-44m7","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/64xxx/CVE-2025-64184.json","tags":["advisory"]},{"url":"https://github.com/webcomics/dosage","tags":["package"]},{"url":"https://pypi.org/project/dosage","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2025-64184","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2025-64184","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2025-64184","title":"Dosage vulnerable to Directory Traversal through crafted HTTP responses","description":"Dosage is a comic strip downloader and archiver. When downloading comic images in versions 3.1 and below, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP Content-Type header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). This issue is fixed in version 3.2.","status":"published","published":"2025-11-07T03:02:41.838Z","modified":"2025-11-07T18:02:26.896Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:32:46.750177Z"}],"euvd":[{"id":"EUVD-2025-37861","description":"Dosage is a comic strip downloader and archiver. When downloading comic images in versions 3.1 and below, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP Content-Type header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). This issue is fixed in version 3.2.","status":"published","published":"2025-11-07T03:02:41Z","modified":"2025-11-07T18:02:26Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T19:49:19.321345Z"}],"ghsa":[{"id":"GHSA-4vcx-3pj3-44m7","title":"Dosage vulnerable to a Directory Traversal through crafted HTTP responses","description":"### Impact\n\nWhen downloadinging comic images, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP `Content-Type` header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). \n\n### Patches\n\nFixed in release 3.2. The [fix is small and self-contained](https://github.com/webcomics/dosage/commit/336a9684191604bc49eed7296b74bd582151181e), so distributors might elect to backport the fix to older versions.\n\n### Workarounds\n\nNo","status":"published","published":"2025-11-04T15:31:48Z","modified":"2025-11-07T16:42:28Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:39:07.985215Z"}],"nvd":[{"id":"CVE-2025-64184","description":"Dosage is a comic strip downloader and archiver. When downloading comic images in versions 3.1 and below, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP Content-Type header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). This issue is fixed in version 3.2.","status":"published","published":"2025-11-07T04:15:46.947Z","modified":"2026-06-17T09:53:58.517Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:11:42.870953Z"}],"osv":[{"id":"CVE-2025-64184","title":"Dosage vulnerable to Directory Traversal through crafted HTTP responses","description":"Dosage is a comic strip downloader and archiver. When downloading comic images in versions 3.1 and below, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP Content-Type header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). This issue is fixed in version 3.2.","status":"published","published":"2025-11-07T03:02:41.838Z","modified":"2026-10-28T02:31:05.943497202Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:44:51.851511Z"},{"id":"GHSA-4vcx-3pj3-44m7","title":"Dosage vulnerable to a Directory Traversal through crafted HTTP responses","description":"### Impact\n\nWhen downloadinging comic images, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP `Content-Type` header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). \n\n### Patches\n\nFixed in release 3.2. The [fix is small and self-contained](https://github.com/webcomics/dosage/commit/336a9684191604bc49eed7296b74bd582151181e), so distributors might elect to backport the fix to older versions.\n\n### Workarounds\n\nNo","status":"published","published":"2025-11-04T15:31:48Z","modified":"2026-07-07T17:57:22.746862685Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:37.528068Z"},{"id":"PYSEC-2026-1316","title":"Dosage vulnerable to a Directory Traversal through crafted HTTP responses","description":"### Impact\n\nWhen downloadinging comic images, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP `Content-Type` header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). \n\n### Patches\n\nFixed in release 3.2. The [fix is small and self-contained](https://github.com/webcomics/dosage/commit/336a9684191604bc49eed7296b74bd582151181e), so distributors might elect to backport the fix to older versions.\n\n### Workarounds\n\nNo","status":"published","published":"2026-07-07T16:03:09.519278Z","modified":"2026-07-07T17:46:39.48187603Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:54.622769Z"},{"id":"UBUNTU-CVE-2025-64184","description":"Dosage is a comic strip downloader and archiver. When downloading comic images in versions 3.1 and below, Dosage constructs target file names from different aspects of the remote comic (page URL, image URL, page content, etc.). While the basename is properly stripped of directory-traversing characters, the file extension is taken from the HTTP Content-Type header. This allows a remote attacker (or a Man-in-the-Middle, if the comic is served over HTTP) to write arbitrary files outside the target directory (if additional conditions are met). This issue is fixed in version 3.2.","status":"published","published":"2025-11-07T04:15:00Z","modified":"2026-10-17T12:57:11.127783316Z","cvss":[{"version":"3.1","score":8.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T16:55:52.345622Z"}]}}
