# Mailgen 明文邮件HTML注入漏洞
## 漏洞概述
`mailgen` 是一个用于生成响应式 HTML 邮件的 Node.js 包,其版本 **2.0.31 及之前**存在 HTML 注入漏洞。在调用 `generatePlaintext` 方法生成纯文本邮件时,若输入内容由用户控制,则可能导致恶意 HTML 未被正确移除。
## 影响版本
- **受影响版本**:<= 2.0.31
- **修复版本**:2.0.32
## 漏洞细节
- `generatePlaintext` 方法尝试用正则表达式剥离 HTML 标签,并解码 HTML 实体。
- 某些包含 **Unicode 换行符** 的 HTML 标签未被正则表达式正确匹配并移除。
- 在后续 HTML 实体解码过程中,这些标签可能被还原为有效 HTML。
- 导致原本应为纯文本的内容中混入了 HTML,可能被渲染器解析执行。
## 漏洞影响
- 如果项目将 `generatePlaintext` 的返回结果用于 **HTML 上下文渲染**(如插入到网页中)且未二次转义,则会受到此漏洞影响。
- 可能导致 **攻击者注入的脚本在用户浏览器中执行**,造成 XSS 风险。
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: HTML Injection and XSS Filter Bypass in Plaintext Emails · Advisory · eladnava/mailgen · GitHub -- 🔗来源链接
标签: x_refsource_CONFIRM
神龙速读标题: index.js: Fix additional HTML injection security issue in plaintext e… · eladnava/mailgen@7a791a4 · GitHub -- 🔗来源链接
标签: x_refsource_MISC
神龙速读暂无评论