chore(deps): update dependency swoosh to v1.26.3 [security] #583

Open
renovate wants to merge 1 commit from renovate/hex-swoosh-vulnerability into main
Collaborator

This PR contains the following updates:

Package Type Update Change
swoosh (source) prod minor 1.25.1 → 1.26.3

Email-derived URL path injection in the Swoosh Microsoft Graph adapter

CVE-2026-54893 / EEF-CVE-2026-54893 / GHSA-754j-98wh-57rf

More information

Details

Summary

URL path injection in the Microsoft Graph adapter of Swoosh. Swoosh.Adapters.MsGraph builds its Microsoft Graph API request URL by interpolating the sender's email address into the URL path (/users/{from}/sendMail) without percent-encoding or validation.

In applications that derive the from address from untrusted or user-influenced input (for example a relay, a contact form, or a "send as" feature), an attacker can place URL-special characters such as /, ?, or # in the local part of the address to escape the intended path segment and rewrite the path and query string of the request. Because the same authenticated POST is sent with the application's Microsoft Graph bearer token, the attacker can redirect it to other Graph endpoints within the token's scopes and control the request's query string. Applications that always use a fixed, trusted from address are not affected.

This issue affects swoosh: from 1.12.0 before 1.26.3.

Workarounds

Validate or reject sender addresses that contain characters outside the allowed RFC 5321 set (in particular /, ?, #, and ..) before passing the email to the adapter. Alternatively, set a static :url in the adapter configuration, which bypasses interpolation of the from address into the request path.

Configurations

This vulnerability only affects applications that use Swoosh.Adapters.MsGraph and derive the email from address from untrusted or user-influenced input (for example a relay, a contact form, or a "send as" feature). Applications that always send with a fixed, trusted from address are not affected.

Severity

  • CVSS Score: 2.1 / 10 (Low)
  • Vector String: CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N

References

This data is provided by OSV.


Release Notes

swoosh/swoosh (swoosh)

v1.26.3

Compare Source

🔒 Security
  • Fix URL path injection via unencoded sender address in MsGraph adapter (GHSA-754j-98wh-57rf / CVE-2026-54893)

v1.26.2

Compare Source

🐛 Bug Fixes

v1.26.1

Compare Source

🐛 Bug Fixes

v1.26.0

Compare Source

✨ Features
📝 Documentation
  • Document the new Mailpit adapter in the README

v1.25.3

Compare Source

📝 Documentation
🧰 Maintenance

v1.25.2

Compare Source

🐛 Bug Fixes

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • 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 has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [swoosh](https://hex.pm/packages/swoosh) ([source](https://github.com/swoosh/swoosh)) | prod | minor | `1.25.1` → `1.26.3` | --- ### Email-derived URL path injection in the Swoosh Microsoft Graph adapter [CVE-2026-54893](https://nvd.nist.gov/vuln/detail/CVE-2026-54893) / EEF-CVE-2026-54893 / [GHSA-754j-98wh-57rf](https://github.com/advisories/GHSA-754j-98wh-57rf) <details> <summary>More information</summary> #### Details ##### Summary URL path injection in the Microsoft Graph adapter of Swoosh. `Swoosh.Adapters.MsGraph` builds its Microsoft Graph API request URL by interpolating the sender's email address into the URL path (`/users/{from}/sendMail`) without percent-encoding or validation. In applications that derive the `from` address from untrusted or user-influenced input (for example a relay, a contact form, or a "send as" feature), an attacker can place URL-special characters such as `/`, `?`, or `#` in the local part of the address to escape the intended path segment and rewrite the path and query string of the request. Because the same authenticated `POST` is sent with the application's Microsoft Graph bearer token, the attacker can redirect it to other Graph endpoints within the token's scopes and control the request's query string. Applications that always use a fixed, trusted `from` address are not affected. This issue affects swoosh: from 1.12.0 before 1.26.3. ##### Workarounds Validate or reject sender addresses that contain characters outside the allowed RFC 5321 set (in particular `/`, `?`, `#`, and `..`) before passing the email to the adapter. Alternatively, set a static `:url` in the adapter configuration, which bypasses interpolation of the `from` address into the request path. ##### Configurations This vulnerability only affects applications that use `Swoosh.Adapters.MsGraph` and derive the email `from` address from untrusted or user-influenced input (for example a relay, a contact form, or a "send as" feature). Applications that always send with a fixed, trusted `from` address are not affected. #### Severity - CVSS Score: 2.1 / 10 (Low) - Vector String: `CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N` #### References - [https://github.com/swoosh/swoosh/security/advisories/GHSA-754j-98wh-57rf](https://github.com/swoosh/swoosh/security/advisories/GHSA-754j-98wh-57rf) - [https://cna.erlef.org/cves/CVE-2026-54893.html](https://cna.erlef.org/cves/CVE-2026-54893.html) - [https://github.com/swoosh/swoosh/commit/23bfcdab71aee4613858ba6d116bb3311b72aa58](https://github.com/swoosh/swoosh/commit/23bfcdab71aee4613858ba6d116bb3311b72aa58) - [https://github.com/swoosh/swoosh/commit/e38235453e81d1727bfc8d91e69ec4cb211ccf61](https://github.com/swoosh/swoosh/commit/e38235453e81d1727bfc8d91e69ec4cb211ccf61) - [https://hex.pm/packages/swoosh](https://hex.pm/packages/swoosh) This data is provided by [OSV](https://osv.dev/vulnerability/EEF-CVE-2026-54893). </details> --- ### Release Notes <details> <summary>swoosh/swoosh (swoosh)</summary> ### [`v1.26.3`](https://github.com/swoosh/swoosh/blob/HEAD/CHANGELOG.md#1263) [Compare Source](https://github.com/swoosh/swoosh/compare/1.26.2...v1.26.3) ##### 🔒 Security - Fix URL path injection via unencoded sender address in MsGraph adapter (GHSA-754j-98wh-57rf / CVE-2026-54893) ### [`v1.26.2`](https://github.com/swoosh/swoosh/blob/HEAD/CHANGELOG.md#1262) [Compare Source](https://github.com/swoosh/swoosh/compare/v1.26.1...1.26.2) ##### 🐛 Bug Fixes - Fix Postmark adapter not adding the recipient name to the Reply-To header [@&#8203;vickz84259](https://github.com/vickz84259) ([#&#8203;1166](https://github.com/swoosh/swoosh/issues/1166)) ### [`v1.26.1`](https://github.com/swoosh/swoosh/blob/HEAD/CHANGELOG.md#1261) [Compare Source](https://github.com/swoosh/swoosh/compare/v1.26.0...v1.26.1) ##### 🐛 Bug Fixes - Fix inline attachment `cid` handling for Mailpit adapter [@&#8203;waseigo](https://github.com/waseigo) ([#&#8203;1155](https://github.com/swoosh/swoosh/issues/1155)) ### [`v1.26.0`](https://github.com/swoosh/swoosh/blob/HEAD/CHANGELOG.md#1260) [Compare Source](https://github.com/swoosh/swoosh/compare/1.25.3...v1.26.0) ##### ✨ Features - Add self-hosted Mailpit adapter [@&#8203;waseigo](https://github.com/waseigo) ([#&#8203;1152](https://github.com/swoosh/swoosh/issues/1152)) ##### 📝 Documentation - Document the new Mailpit adapter in the README ### [`v1.25.3`](https://github.com/swoosh/swoosh/blob/HEAD/CHANGELOG.md#1253) [Compare Source](https://github.com/swoosh/swoosh/compare/v1.25.2...1.25.3) ##### 📝 Documentation - Document runtime Postmark server keys [@&#8203;dl-alexandre](https://github.com/dl-alexandre) ([#&#8203;1135](https://github.com/swoosh/swoosh/issues/1135)) ##### 🧰 Maintenance - update to support hackney less than 5.0 [@&#8203;allenwyma](https://github.com/allenwyma) ([#&#8203;1132](https://github.com/swoosh/swoosh/issues/1132)) - Allow usage of idna 7.x [@&#8203;sax](https://github.com/sax) ([#&#8203;1142](https://github.com/swoosh/swoosh/issues/1142)) - Fix Elixir 1.20 compilation warnings [@&#8203;gilbertwong96](https://github.com/gilbertwong96) ([#&#8203;1150](https://github.com/swoosh/swoosh/issues/1150)) ### [`v1.25.2`](https://github.com/swoosh/swoosh/blob/HEAD/CHANGELOG.md#1252) [Compare Source](https://github.com/swoosh/swoosh/compare/v1.25.1...v1.25.2) ##### 🐛 Bug Fixes - fix(config): prioritize runtime config for Mailer [@&#8203;ukashazia](https://github.com/ukashazia) ([#&#8203;1134](https://github.com/swoosh/swoosh/issues/1134)) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNjUuMiIsInVwZGF0ZWRJblZlciI6IjQzLjE2NS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWF0ZWQiLCJkZXBlbmRlbmNpZXMiLCJyZW5vdmF0ZSIsInNlY3VyaXR5Il19-->
chore(deps): update dependency swoosh to v1.26.3 [security]
Some checks reported errors
continuous-integration/drone/push Build was killed
da0bba89b1
renovate force-pushed renovate/hex-swoosh-vulnerability from da0bba89b1
Some checks reported errors
continuous-integration/drone/push Build was killed
to 6306f07702
All checks were successful
continuous-integration/drone/push Build is passing
2026-10-08 21:25:03 +02:00
Compare
renovate force-pushed renovate/hex-swoosh-vulnerability from 6306f07702
All checks were successful
continuous-integration/drone/push Build is passing
to 854ebd9916
All checks were successful
continuous-integration/drone/push Build is passing
2026-10-11 02:06:05 +02:00
Compare
renovate force-pushed renovate/hex-swoosh-vulnerability from 854ebd9916
All checks were successful
continuous-integration/drone/push Build is passing
to d113ed6d18
Some checks are pending
continuous-integration/drone/push Build is pending
2026-10-12 12:13:49 +02:00
Compare
Some checks are pending
continuous-integration/drone/push Build is pending
continuous-integration/drone/promote/production
Required
Some required checks are missing.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/hex-swoosh-vulnerability:renovate/hex-swoosh-vulnerability
git switch renovate/hex-swoosh-vulnerability
Sign in to join this conversation.
No description provided.