Mailpit is an email testing tool and API for developers. The fix for GHSA-6jxm-fv7w-rw5j (CVE-2026-23845, "Server-Side Request Forgery (SSRF) via HTML Check API"), shipped in mailpit v1.28.3, hardened internal/htmlcheck/css.go::downloadCSSToBytes with a 5MB size cap, a text/css content-type check, login-info stripping in isValidURL, and an opt-in --block-remote-css-and-fonts config flag — but did not add the IP-filtering dialer that the same codebase already uses on the two sister SSRF endpoints (the proxy handler and link-check). Prior to version 1.30.0, internal/htmlcheck/css.go::newSafeHTTPClient is mis-named — it builds an http.Client whose Transport.DialContext calls net.Dialer.DialContext directly with no IP allowlisting. As a result, the SSRF originally reported by Bao Anh Phan still permits the server to dial loopback, private, link-local, and any other reserved/multicast range, provided the target replies with HTTP/200 and a content-type beginning with text/css. With redirect-following (CheckRedirect allows redirects to any isValidURL URL with no IP filter), an attacker-controlled public site can redirect mailpit's request into the private network without ever appearing in the email's HTML. In the default mailpit deploy (no UI auth, no SMTP auth, port 1025/8025 exposed), this is an unauthenticated, network-reachable SSRF triggered by sending an HTML email and then issuing one HTTP GET to /api/v1/message/{id}/html-check. Version 1.30.0 contains an updated fix.
CVE-2026-45709
This medium-severity CVE scores 5.8 under the CNA's CVSS (NVD's own analysis pending). EPSS exploit probability: 0.0%, top 89% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- Lower severity and no public exploit yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 5.8
- EG Score
- 5.8(low)
- EPSS
- 13.0%
- KEV
- Not listed
Published
May 19, 2026
Last Modified
July 21, 2026
Advisory Details (2)
Auto-updated Jul 20, 2026Incomplete fix for GHSA-6jxm-fv7w-rw5j: HTML check still permits SSRF to private/loopback/IMDS via missing IP-filter dialer · Advisory · axllent/mailpit · GitHub
https://github.com/axllent/mailpit/security/advisories/GHSA-j3fj-qppj-fmmcRelease v1.30.0 (axllent/mailpit)
Patch available: axllent/mailpit v1.30.0
https://github.com/axllent/mailpit/releases/tag/v1.30.0Vendor Advisories for CVE-2026-45709(1)
These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.
Affected Packages
(1 across 1 ecosystem)
Go(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| github.com/axllent/mailpit | — | 1.30.0 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 2× in last 7d / 2× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-22 14:08 UTCEPSS rescore
- 2026-07-21 15:24 UTCEPSS rescore
- 2026-06-14 23:18 UTCEPSS rescore
- 2026-06-13 23:00 UTCEPSS rescore
- 2026-06-12 23:12 UTCEPSS rescore
- 2026-05-24 06:14 UTCEG score recompute
Related CVEs(same CWE)
Same CWE
10 shownCWE-918
Frequently asked(5)
What is CVE-2026-45709?
When was CVE-2026-45709 disclosed?
Is CVE-2026-45709 actively exploited?
What is the CVSS score of CVE-2026-45709?
How do I remediate CVE-2026-45709?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-45709
Is Your Infrastructure Affected by CVE-2026-45709?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.