CVE-2026-54893 json
Email-derived URL path injection in the Swoosh Microsoft Graph adapter
published 4mo ago modified 26d ago also EEF-CVE-2026-54893 , EUVD-2026-41876 , GHSA-754j-98wh-57rf
- cvss
- 2.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 10%
- public exploits
- 0
- none known
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.
Patch / fix
- hex swoosh 1.26.3
- swoosh swoosh 1.26.3
Is CVE-2026-54893 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4mo ago
Exploit prediction
0.20% chance of exploitation in the next 30 days, higher than 10% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.1 | 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 |
| CNA | 4.0 | 2.1 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | swoosh | >=1.12.0, <1.26.3 |
1.26.3 |
Affected products
- swoosh swoosh
Classification
References
-
github.com
/swoosh/swoosh/commit/23bfcdab71aee4613858ba6d116bb3311b72aa58
related, web
-
github.com
/swoosh/swoosh/commit/e38235453e81d1727bfc8d91e69ec4cb211ccf61
patch, web
-
github.com
/swoosh/swoosh/security/advisories/GHSA-754j-98wh-57rf
vendor-advisory, related, web, advisory
-
cna.erlef.org
/cves/CVE-2026-54893.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-54893
related, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-54893
advisory
-
github.com
/swoosh/swoosh
package
-
hex.pm
/packages/swoosh
package
Sources
- CVE List CVE-2026-54893
- GitHub Advisory GHSA-754j-98wh-57rf
- NVD CVE-2026-54893
- OSV EEF-CVE-2026-54893
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.