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))
### [`v6.9.5`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#695-2023-09-06)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.4...v6.9.5)
##### Bug Fixes
- **license:** Updated license year ([da4744e](https://redirect.github.com/nodemailer/nodemailer/commit/da4744e491f3a68f4f68e4073684370592630e01))
### [`v6.9.4`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#694-2023-07-19)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.3...v6.9.4)
- Renamed SendinBlue to Brevo
### [`v6.9.3`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#693-2023-05-29)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.2...v6.9.3)
- Specified license identifier (was defined as MIT, actual value MIT-0)
- If SMTP server disconnects with a message, process it and include as part of the response error
### [`v6.9.2`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#692-2023-05-11)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.1...v6.9.2)
- Fix uncaught exception on invalid attachment content payload
### [`v6.9.1`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#691-2023-01-27)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.0...v6.9.1)
- Fix base64 encoding for emoji bytes in encoded words
### [`v6.9.0`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#690-2023-01-12)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.8.0...v6.9.0)
- Do not throw if failed to resolve IPv4 addresses
- Include EHLO extensions in the send response
- fix sendMail function: callback should be optional
### [`v6.8.0`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#680-2022-09-28)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.8...v6.8.0)
- Add DNS timeout (huksley)
- add dns.REFUSED (lucagianfelici)
### [`v6.7.8`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#678-2022-08-11)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.7...v6.7.8)
- Allow to use multiple Reply-To addresses
### [`v6.7.7`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#677-2022-07-06)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.6...v6.7.7)
- Resolver fixes
### [`v6.7.6`](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.5...v6.7.6)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.5...v6.7.6)
### [`v6.7.5`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#675-2022-05-04)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.4...v6.7.5)
- No changes, pushing a new README to npmjs.org
### [`v6.7.4`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#674-2022-04-29)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.3...v6.7.4)
- Ensure compatibility with Node 18
- Replaced Travis with Github Actions
### [`v6.7.3`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#673-2022-03-21)
[Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.2...v6.7.3)
- Typo fixes
- Added stale issue automation fir Github
- Add Infomaniak config to well known service (popod)
- Update Outlook/Hotmail host in well known services (popod)
- fix: DSN recipient gets ignored (KornKalle)
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 is behind base branch, 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.7.2
->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)) ### [`v6.9.5`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#695-2023-09-06) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.4...v6.9.5) ##### Bug Fixes - **license:** Updated license year ([da4744e](https://redirect.github.com/nodemailer/nodemailer/commit/da4744e491f3a68f4f68e4073684370592630e01)) ### [`v6.9.4`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#694-2023-07-19) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.3...v6.9.4) - Renamed SendinBlue to Brevo ### [`v6.9.3`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#693-2023-05-29) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.2...v6.9.3) - Specified license identifier (was defined as MIT, actual value MIT-0) - If SMTP server disconnects with a message, process it and include as part of the response error ### [`v6.9.2`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#692-2023-05-11) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.1...v6.9.2) - Fix uncaught exception on invalid attachment content payload ### [`v6.9.1`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#691-2023-01-27) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.9.0...v6.9.1) - Fix base64 encoding for emoji bytes in encoded words ### [`v6.9.0`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#690-2023-01-12) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.8.0...v6.9.0) - Do not throw if failed to resolve IPv4 addresses - Include EHLO extensions in the send response - fix sendMail function: callback should be optional ### [`v6.8.0`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#680-2022-09-28) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.8...v6.8.0) - Add DNS timeout (huksley) - add dns.REFUSED (lucagianfelici) ### [`v6.7.8`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#678-2022-08-11) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.7...v6.7.8) - Allow to use multiple Reply-To addresses ### [`v6.7.7`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#677-2022-07-06) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.6...v6.7.7) - Resolver fixes ### [`v6.7.6`](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.5...v6.7.6) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.5...v6.7.6) ### [`v6.7.5`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#675-2022-05-04) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.4...v6.7.5) - No changes, pushing a new README to npmjs.org ### [`v6.7.4`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#674-2022-04-29) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.3...v6.7.4) - Ensure compatibility with Node 18 - Replaced Travis with Github Actions ### [`v6.7.3`](https://redirect.github.com/nodemailer/nodemailer/blob/HEAD/CHANGELOG.md#673-2022-03-21) [Compare Source](https://redirect.github.com/nodemailer/nodemailer/compare/v6.7.2...v6.7.3) - Typo fixes - Added stale issue automation fir Github - Add Infomaniak config to well known service (popod) - Update Outlook/Hotmail host in well known services (popod) - fix: DSN recipient gets ignored (KornKalle)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 is behind base branch, 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.