{"id":"CVE-2026-45711","revision":"df82a490944d426c80acb682e4a151df","records":[{"revision":"df82a490944d426c80acb682e4a151df","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-45711","aliases":[],"title":"Mailpit: Path traversal & arbitrary file write in mailpit dump --http via attacker-controlled message IDs","description":"Mailpit is an email testing tool and API for developers. Prior to version 1.30.0, the mailpit dump --http <base-url> <out-dir> sub-command downloads every message from a remote Mailpit instance and writes each one as <id>.eml inside the user-supplied output directory. The message ID field is taken verbatim from the JSON response of the remote server and concatenated into the output path with path.Join, which silently normalizes `..` segments. A malicious HTTP server impersonating Mailpit can therefore make mailpit dump write attacker-controlled bytes to any path the running user can write, fully outside the intended output directory. Version 1.30.0 contains a patch.","state":0,"publishedAt":"2026-07-20T14:39:06.69+00:00","modifiedAt":"2026-07-21T15:42:56.143+00:00","affected":[{"ecosystem":"Vendor product","name":"mailpit","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"axllent\",\n                    \"product\": \"mailpit\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 1.30.0\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:L","score":5.9,"severity":"MEDIUM"}],"references":["https://github.com/axllent/mailpit/security/advisories/GHSA-qx5x-85p8-vg4j","https://github.com/axllent/mailpit/releases/tag/v1.30.0"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-45711","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-45711","identifiers":["CVE-2026-45711"]},"retained":false,"historicalAffected":[]}],"coverage":[]}