This release includes 4 security fixes for security teams reviewing exposed deployments.
Topics
+1 more
Affected surfaces
Summary
AI summaryUpdates Chore, Build, and https://github.com/axllent/mailpit/security/advisories/GHSA-j3fj-qppj-fmmc across a mixed release.
Full changelog
This release includes an important security fixes, so upgrading is strongly recommended.
This release introduces a default message size limit for both SMTP and api/v1/send to prevent DoS attacks via unbounded message sizes. This limit can be configured or disabled as needed, but the default is set to 50MB to provide a reasonable safeguard against abuse and align with some common email server limits.
A big thanks to the security researchers who reported these issues and helped improve Mailpit's security!
Security
- Set a default 50MB per message limit to prevent DoS via unlimited
SMTP DATAand/api/v1/sendbody sizes (GHSA-fpxj-m5q8-fphw) - Include CGNAT (Carrier-Grade NAT) in internal IP checks (GHSA-j3fj-qppj-fmmc)
- Block internal IP access by default in HTML check (GHSA-j3fj-qppj-fmmc)
- Fix for path traversal & arbitrary file write in
mailpit dump --http <instance>via attacker-controlled message IDs (GHSA-qx5x-85p8-vg4j) - Fix concurrent map read & write in proxy CSS rewriter (GHSA-w4vj-r5pg-3722)
Feature
- New UI loading indicator, reduce flash during message transitions (#682)
Chore
- Bump vue-router from 4.6.4 to 5.0.4
- Bump axios version to 1.15.0
- Update Go dependencies
- Update node dependencies
- Remove gorilla/mux dependency and replace with stdlib routing
- Remove logrus dependency and implement slog-based logging
- Remove go-telnet dependency and implement TCP/Unix socket handling for SMTP
- Replace lithammer/shortuuid with custom shortuuid implementation and update tests
- Improve iframe height adjustment with optional chaining
- Bump axios version to v1.16.0
- Refactor Prometheus metrics implementation and remove unused dependencies
- Refactor MarkRead and MarkUnread functions to only broadcast changes of modified messages
- Optimize tag retrieval by batching message IDs in List and Search functions
- Enhance SetMessageTags function to improve tag handling and batch deletions
- Optimize MarkRead and MarkUnread functions to reduce database calls and improve performance
- Refactor pruneMessages function to eliminate duplicate ID checks using a map
- Refactor addMessageTag function to remove mutex and ensure safe concurrent inserts
- Refactor Hub to use atomic clientCount for safe concurrent client tracking
- Ensure websocket connection is closed on client unregistration
- Simplify writePump by using WriteMessage and remove unnecessary newline handling
- Add message dump
--max-message-sizeflag and refactor message handling - Add message ingest
--max-message-sizeflag and refactor message handling - Update Go dependencies
- Update node dependencies
- Update caniemail test database
Fix
- Validate SMTP
XCLIENTargs before processing
Build
- Update CI actions to use
npm ci - Tag Docker edge build with next patch versions
Security Fixes
- GHSA-fpxj-m5q8-fphw — Set a default 50MB per‑message limit to prevent DoS via unbounded SMTP DATA and /api/v1/send body sizes
- GHSA-j3fj-qppj-fmmc — Include CGNAT (Carrier‑Grade NAT) in internal IP checks and block internal IP access by default in HTML check
- GHSA-qx5x-85p8-vg4j — Fix path traversal & arbitrary file write in `mailpit dump --http` via attacker‑controlled message IDs
- GHSA-w4vj-r5pg-3722 — Fix concurrent map read/write in proxy CSS rewriter
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Beta — feedback welcome: [email protected]