A ReDoS vulnerability occurs when nodemailer tries to parse img files with the parameter attachDataUrls set, causing the stuck of event loop.
Another flaw was found when nodemailer tries to parse an attachments with a embedded file, causing the stuck of event loop.
ReDoS causes the event loop to stuck a specially crafted evil email can cause this problem.
Release Notes
nodemailer/nodemailer (nodemailer)
### [`v6.9.9`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#699-2024-02-01)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.8...v6.9.9)
##### Bug Fixes
- **security:** Fix issues described in GHSA-9h6g-pr28-7cqp. Do not use eternal matching pattern if only a few occurences are expected ([dd8f5e8](https://redirect.github.com/nodemailer/nodemailer/commit/dd8f5e8a4ddc99992e31df76bcff9c590035cd4a))
- **tests:** Use native node test runner, added code coverage support, removed grunt ([#1604](https://redirect.github.com/nodemailer/nodemailer/issues/1604)) ([be45c1b](https://redirect.github.com/nodemailer/nodemailer/commit/be45c1b299d012358d69247019391a02734d70af))
### [`v6.9.8`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#698-2023-12-30)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.7...v6.9.8)
##### Bug Fixes
- **punycode:** do not use native punycode module ([b4d0e0c](https://redirect.github.com/nodemailer/nodemailer/commit/b4d0e0c7cc4b15bc4d9e287f91d1bcaca87508b0))
### [`v6.9.7`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#697-2023-10-22)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.6...v6.9.7)
##### Bug Fixes
- **customAuth:** Do not require user and pass to be set for custom authentication schemes (fixes [#1584](https://redirect.github.com/nodemailer/nodemailer/issues/1584)) ([41d482c](https://redirect.github.com/nodemailer/nodemailer/commit/41d482c3f01e26111b06f3e46351b193db3fb5cb))
### [`v6.9.6`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#696-2023-10-09)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.5...v6.9.6)
##### Bug Fixes
- **inline:** Use 'inline' as the default Content Dispostion value for embedded images ([db32c93](https://redirect.github.com/nodemailer/nodemailer/commit/db32c93fefee527bcc239f13056e5d9181a4d8af))
- **tests:** Removed Node v12 from test matrix as it is not compatible with the test framework anymore ([7fe0a60](https://redirect.github.com/nodemailer/nodemailer/commit/7fe0a608ed6bcb70dc6b2de543ebfc3a30abf984))
Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
6.9.5
->6.9.9
GitHub Vulnerability Alerts
GHSA-9h6g-pr28-7cqp
Summary
A ReDoS vulnerability occurs when nodemailer tries to parse img files with the parameter
attachDataUrls
set, causing the stuck of event loop. Another flaw was found when nodemailer tries to parse an attachments with a embedded file, causing the stuck of event loop.Details
Regex: /^data:((?:[^;];)(?:[^,])),(.)$/
Path: compile -> getAttachments -> _processDataUrl
Regex: /(<img\b[^>] src\s=[\s"']*)(data:([^;]+);[^"'>\s]+)/
Path: _convertDataImages
PoC
https://gist.github.com/francoatmega/890dd5053375333e40c6fdbcc8c58df6 https://gist.github.com/francoatmega/9aab042b0b24968d7b7039818e8b2698
Impact
ReDoS causes the event loop to stuck a specially crafted evil email can cause this problem.
Release Notes
nodemailer/nodemailer (nodemailer)
### [`v6.9.9`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#699-2024-02-01) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.8...v6.9.9) ##### Bug Fixes - **security:** Fix issues described in GHSA-9h6g-pr28-7cqp. Do not use eternal matching pattern if only a few occurences are expected ([dd8f5e8](https://redirect.github.com/nodemailer/nodemailer/commit/dd8f5e8a4ddc99992e31df76bcff9c590035cd4a)) - **tests:** Use native node test runner, added code coverage support, removed grunt ([#1604](https://redirect.github.com/nodemailer/nodemailer/issues/1604)) ([be45c1b](https://redirect.github.com/nodemailer/nodemailer/commit/be45c1b299d012358d69247019391a02734d70af)) ### [`v6.9.8`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#698-2023-12-30) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.7...v6.9.8) ##### Bug Fixes - **punycode:** do not use native punycode module ([b4d0e0c](https://redirect.github.com/nodemailer/nodemailer/commit/b4d0e0c7cc4b15bc4d9e287f91d1bcaca87508b0)) ### [`v6.9.7`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#697-2023-10-22) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.6...v6.9.7) ##### Bug Fixes - **customAuth:** Do not require user and pass to be set for custom authentication schemes (fixes [#1584](https://redirect.github.com/nodemailer/nodemailer/issues/1584)) ([41d482c](https://redirect.github.com/nodemailer/nodemailer/commit/41d482c3f01e26111b06f3e46351b193db3fb5cb)) ### [`v6.9.6`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#696-2023-10-09) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.5...v6.9.6) ##### Bug Fixes - **inline:** Use 'inline' as the default Content Dispostion value for embedded images ([db32c93](https://redirect.github.com/nodemailer/nodemailer/commit/db32c93fefee527bcc239f13056e5d9181a4d8af)) - **tests:** Removed Node v12 from test matrix as it is not compatible with the test framework anymore ([7fe0a60](https://redirect.github.com/nodemailer/nodemailer/commit/7fe0a608ed6bcb70dc6b2de543ebfc3a30abf984))Configuration
📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.