Vulnerability · Published Apr 1, 2025 · Assigned by GitHub_M
CVE-2025-31135Go-Guerrilla SMTP Daemon allows the PROXY command to be sent multiple times
Medium 5.3
In plain English
A medium-severity improper input validation in go-guerrilla from phires. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 32% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
Go-Guerrilla SMTP Daemon is a lightweight SMTP server written in Go. Prior to 1.6.7, when ProxyOn is enabled, the PROXY command will be accepted multiple times, with later invocations overriding earlier ones. The proxy protocol only supports one initial PROXY header; anything after that is considered part of the exchange between client and server, so the client is free to send further PROXY commands with whatever data it pleases. go-guerrilla will treat these as coming from the reverse proxy, allowing a client to spoof its IP address. This vulnerability is fixed in 1.6.7.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/phires/go-guerrilla | 1.6.7 | GHSA-c2c3-pqw5-5p7c |
| Go | github.com/phires/go-guerrilla | 1.6.7 | GO-2025-3588 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| phires | go-guerrilla | < 1.6.7 |
Weakness: CWE-20 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N