CVE-2025-62380
LowCVSS 2.9Exploitation Probability (EPSS)
Low risk37th percentile - higher than 37% of all known CVEs
Summary
Mailgen (Node.js package) through version 2.0.31 contains an HTML injection vulnerability in plaintext emails generated with the generatePlaintext method when user generated content is supplied. Tags with certain Unicode line separator characters are not removed, allowing unexpected HTML to remain in output.
Risk Assessment
If the output is rendered in an HTML context, an attacker could execute script in the victim's browser, leading to data theft or session hijacking.
Recommendation
Update the mailgen package to version 2.0.32 or later, which fixes the issue.
Other vulnerabilities in mailgen
See all- CVE-2025-62366Low
mailgen is a Node.js package that generates responsive HTML e-mails for sending transactional mail. Mailgen versions through 2.0.30 contain an HTML injection vulnerability in plaintext emails produced by the generatePlaintext method when user-generated content is supplied. The function attempts to remove HTML tags, but if tags are provided as encoded HTML entities they are not removed and are later decoded, resulting in active HTML (for example an img tag with an event handler) in the supposed plaintext output. In contexts where the generated plaintext string is subsequently rendered as HTML, this can allow execution of attacker-controlled JavaScript. Versions 2.0.31 and later contain a fix. No known workarounds exist.
- CVE-2025-59526Low
Mailgen, a Node.js package for generating responsive HTML emails, before version 2.0.30 has an HTML injection vulnerability in plaintext emails generated by the Mailgen.generatePlaintext(email) method. Projects are affected if this method is used with user-generated content. The vulnerability has been patched in version 2.0.30.
Original NVD description (English source)
mailgen is a Node.js package that generates responsive HTML e-mails for sending transactional mail. Mailgen versions through 2.0.31 contain an HTML injection vulnerability in plaintext emails generated with the generatePlaintext method when user generated content is supplied. The plaintext generation code attempts to strip HTML tags using a regular expression and then decodes HTML entities, but tags that include certain Unicode line separator characters are not matched and removed. These encoded tags are later decoded into valid HTML content, allowing unexpected HTML to remain in output intended to be plaintext. Projects are affected if they call Mailgen.generatePlaintext with untrusted input and then render or otherwise process the returned string in a context where HTML is interpreted. This can lead to execution of attacker supplied script in the victim’s browser. Version 2.0.32 fixes the issue.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

