5.9
Medium
github.com/axllent/mailpit

CVE-2026-45711

CVE-2026-45711 is a medium-severity path traversal vulnerability in github.com/axllent/mailpit (go), affecting versions < 1.30.0. It is fixed in 1.30.0.

Key facts
CVSS score
5.9
Medium
Attack vector
Network
Issuing authority
GitHub Advisory Database
Affected package
github.com/axllent/mailpit
Fixed in
1.30.0
Disclosed
2026

Summary

Summary 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. Details Anyone who can convince a user to run mailpit dump --http <attacker-url> <dir> (typosquat, phishing tutorial, MITM of a plain-http:// Mailpit, or a compromised internal Mailpit they back up regularly) obtains an arbitrary file write primitive as the dumping user. Realistic post-exploitation includes overwriting init/cron files, shell startup files, CI artifact upload targets, web roots, etc., anything the dumping user can write to, with attacker-controlled file bytes and a .eml filename suffix. Affected code internal/dump/dump.go: path.Join("/safe/out/dir", "../../../../etc/cron.d/payload.eml") resolves to /etc/cron.d/payload.eml, the .. segments are normalized, not rejected. The remote server controls both m.ID (path) and the body of /api/v1/message/<id>/raw (contents). There is no filepath.Rel(outDir, out) containment check, no allow-list on m.ID characters, and no body-size cap. The underlying cause is that the command was added to back up a trusted Mailpit, but the trust model on the wire never gets validated, the operator only supplies a URL. PoC Run a malicious "Mailpit" server that returns one message whose ID contains .. segments: Observe the file was written outside the requested output directory: The same primitive trivially targets ~/.config/autostart/*.eml, ~/.bash_logout.eml (where it overwrites if symlinked), CI artifact dirs that ingest every file, or via long ../ chains any absolute path the user can write to. Impact Arbitrary file write via path traversal in mailpit dump --http, allowing a malicious Mailpit-compatible server to force writes outside the intended output directory. This can lead to overwriting sensitive files (e.g. cron jobs, CI artifacts, shell configs) and potential code execution depending on write location and privileges.

Impact

What is path traversal?

Input manipulates file paths to reach files outside the intended directory, such as configuration or credential files. Typical impact: unauthorized file read or write outside the intended directory.

Severity and exposure

CVE-2026-45711 has a CVSS score of 5.9 (Medium). The vector is network-reachable, no privileges required, and user interaction required. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment.

A fixed version is available (1.30.0). Upgrading removes the vulnerable code path.

Affected versions

go

  • github.com/axllent/mailpit (< 1.30.0)

Security releases

  • github.com/axllent/mailpit → 1.30.0 (go)
Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter instead of chasing every advisory.

Kodem's runtime-powered SCA identifies whether CVE-2026-45711 is reachable in your applications. Explore open-source security for your team.

See if CVE-2026-45711 is reachable in your applications. Get a demo

Remediation advice

Upgrade github.com/axllent/mailpit to 1.30.0 or later to resolve this vulnerability.

Kodem Kai can prioritize this vulnerability in your dependency tree and generate a fix recommendation.

Frequently asked questions about CVE-2026-45711

What is CVE-2026-45711?

CVE-2026-45711 is a medium-severity path traversal vulnerability in github.com/axllent/mailpit (go), affecting versions < 1.30.0. It is fixed in 1.30.0. Input manipulates file paths to reach files outside the intended directory, such as configuration or credential files.

How severe is CVE-2026-45711?

CVE-2026-45711 has a CVSS score of 5.9 (Medium). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.

Which versions of github.com/axllent/mailpit are affected by CVE-2026-45711?

github.com/axllent/mailpit (go) versions < 1.30.0 is affected.

Is there a fix for CVE-2026-45711?

Yes. CVE-2026-45711 is fixed in 1.30.0. Upgrade to this version or later.

Is CVE-2026-45711 exploitable, and should I be worried?

Whether CVE-2026-45711 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo

What actually determines whether CVE-2026-45711 is exploitable, and how bad it is?

Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.

How do I fix CVE-2026-45711?

Upgrade github.com/axllent/mailpit to 1.30.0 or later.

Stop the waste.
Protect your environment with Kodem.