{"schemaVersion":3,"id":"CVE-2026-102332","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"Dozzle versions before 11.1.2 fail to sanitize container display names when building ZIP archive entry names in the log download endpoint. Attackers who can label containers can use path traversal sequences to write files outside the extraction directory when users download and extract logs.","dates":{"published":"2026-09-28T22:21:39.746Z","modified":"2026-10-01T15:10:08.129Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":6.1,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":4.6,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:H/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":4.6,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:N/VI:N/VA:N/SC:N/SI:H/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","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":6.1,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00324,"percentile":0.23949,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-09-29T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00324,"percentile":0.23949}],"last30":[{"date":"2026-09-29T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00324,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00324,"percentile":0.23949}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"amir20","product":"dozzle","name":"dozzle","label":"dozzle","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 8.9.1, < 11.1.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 8.9.1, < 11.1.2","eol":null,"hubHref":"/vendor/amir20/dozzle"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/amir20/dozzle/pull/5242","label":"github.com/amir20/dozzle/pull/5242","hostname":"github.com","tags":["Patch","Issue Tracking"]},{"url":"https://github.com/amir20/dozzle/commit/bc07db73dd84ce2cb939b744e983a8cfdf29c644","label":"github.com/amir20/dozzle/commit/bc07db73dd84ce2cb939b744e983a8cfdf29c644","hostname":"github.com","tags":["Patch"]},{"url":"https://github.com/amir20/dozzle/releases/tag/v11.1.2","label":"github.com/amir20/dozzle/releases/tag/v11.1.2","hostname":"github.com","tags":["Release Notes"]},{"url":"https://github.com/amir20/dozzle/blob/v11.1.1/internal/web/download.go#L141-L146","label":"github.com/amir20/dozzle/blob/v11.1.1/internal/web/download.go","hostname":"github.com","tags":["Technical Description"]},{"url":"https://github.com/amir20/dozzle/blob/v11.1.1/internal/container/docker/client.go#L610-L614","label":"github.com/amir20/dozzle/blob/v11.1.1/internal/container/docker/client.go","hostname":"github.com","tags":["Technical Description"]},{"url":"https://github.com/amir20/dozzle","label":"github.com/amir20/dozzle","hostname":"github.com","tags":["Product"]},{"url":"https://www.vulncheck.com/advisories/dozzle-before-11.1.2-path-traversal-via-log-zip-download","label":"www.vulncheck.com/advisories/dozzle-before-11.1.2-path-traversal-via-log-zip-download","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-09-28T22:21:39.746Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-01T15:10:08.129Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":24,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T04:10:10.049Z","stale":false,"partial":false}}