← Back to results
Vulnerability record · public intelligence
CVE-2025-59937
CRITICAL

go-mail has insufficient address encoding when passing mail addresses to the SMTP client

Published Sep 29, 2025 · Updated Oct 23, 2026 · Also known as GO-2025-3988, GHSA-wpwj-69cm-q9c5

Severity · CVSSCRITICAL · 9.1
Known exploitationNot listed
EPSS / likelihood0.54%
QFinch risk score20 / 100

Original summary

Normalized public record · Updated Oct 23, 2026

go-mail has insufficient address encoding when passing mail addresses to the SMTP client

Publisher and source text is retained separately from QFinch interpretation.

QFinch assessment

Due to incorrect handling of the `mail.Address` values when a sender- or recipient address is passed to the corresponding `MAIL FROM` or `RCPT TO` commands of the SMTP client, this could lead to a possible wrong address routing or even to ESMTP parameter smuggling.

Potential impact

Due to incorrect handling of the mail.Address values when a sender- or recipient address is passed to the corresponding MAIL FROM or RCPT TO commands of the SMTP client, this could lead to a possible wrong address routing or even to ESMTP parameter smuggling. Vulnerability details Instead of making use of the String() method of mail.Address, which takes care of proper escaping and quotation of mail address, we used the Address value of the mail.Address which is the raw value when passing it to our SMTP client. This meant, if a mail address like this was set: "toni.tester@example.com> ORCPT=admin@admin.com"@example.com for a sender or recipient, instead of the correctly quoted/escaped address, the SMTP client would get the raw value passed which would translate into something like this being passed to the SMTP server: RCPT TO:<toni.tester@example.com> ORCPT=admin@admin.com@example.com>. Since ORCTP is a valid command for the SMTP server, the mail would be routed to the wrong address. Additionally, other SMTP commands could potientially be smuggled in using this method causing unexpected behaviour. Exploitation requirements For successful exploitation of this vulnerability it is required that the user's code is allowing for arbitrary mail address input (i. e. through a web form or similar). If only static mail addresses are used (i. e. in a config file) and the mail addresses in use do not consist of quoted local parts, this should not affect your code.

Evidence: public source records

Affected products

Affected scope reported by the available public evidence
Affected package, product or rangeFix status
Consult the referenced vendor advisory for affected versions.Consult source advisory

Matching a version is only one part of assessing exposure. QFinch has not assessed your environment on this public page.

Remediation

Apply the vendor-supported fixed release or mitigation, then verify the affected component is no longer reachable.

  1. Confirm the affected product and reachable code path exist in your environment.
  2. Apply the vendor-supported patch or mitigation from the primary advisory.
  3. Rescan the exact deployed revision and retain verification evidence.
Review primary references

Evidence coverage

CVENVDOSVEPSSGHSA
SSVC priority
MEDIUM
Confidence
20%
Aliases
GO-2025-3988, GHSA-wpwj-69cm-q9c5

Scores appear only when corresponding evidence exists. Missing data is never interpreted as zero risk.

Sources and record history

  1. Security advisory ↗
  2. Source repository ↗
  3. Source repository ↗
  4. Patch commit ↗

Record history

Published Sep 29, 2025 · Last refreshed Oct 23, 2026