CVE-2026-88952 json
OAuth2 sign-in attached to an existing account without an email comparison in AshAuthentication
published last mo. modified 29d ago also EEF-CVE-2026-88952 , EUVD-2026-81619 , GHSA-wc6x-276q-jrf9
- cvss
- 9.1
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 55%
- public exploits
- 0
- none known
Summary
Improper Authentication vulnerability in team-alembic AshAuthentication allows an attacker to be signed in as another user by linking an OAuth2 identity to an account that is not theirs.
AshAuthentication.Strategy.OAuth2.UserResolver.resolve/3 matches an existing account using the register action's upsert_identity keys, then gates linking the incoming provider identity to it on email_trusted?/2, which reads only the provider's email_verified boolean and never compares the provider's email value with the matched account's email. That gate assumes the account was matched by its email field, so under any other upsert_identity it is vacuous and an attacker presenting their own verified email is attached to, and issued a session for, an account matched on some other attribute. The same unguarded gate applies in OAuth2.SignInPreparation on the registration_enabled? false path, where the account is matched by the sign-in action's read filter instead. The upsert also rewrites the matched account's email to the attacker's address, so later account recovery reaches the attacker rather than the owner.
This issue affects ash_authentication: from 4.14.0 before 4.15.0 and from 5.0.0-rc.10 before 5.0.0-rc.14.
Patch / fix
- hex ash_authentication 4.15.0, 5.0.0-rc.14
- team-alembic ash_authentication 4.15.0, 5.0.0-rc.14
Is CVE-2026-88952 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
- total
- Assessed
- last mo.
Exploit prediction
0.75% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.1 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N |
| CNA | 4.0 | 9.1 | CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/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 | ash_authentication | >=4.14.0, <4.15.0 >=5.0.0-rc.10, <5.0.0-rc.14 |
4.15.0 5.0.0-rc.14 |
Affected products
- team-alembic ash_authentication
Classification
- Weakness
-
- CWE-287 Improper Authentication
References
-
github.com
/team-alembic/ash_authentication/commit/64530644f9b37ebb76ca14aeb83a77597a0034b7
related, web
-
github.com
/team-alembic/ash_authentication/commit/42edcd8ebb13fafbb168f12591d7518ce0611fec
related, web
-
github.com
/team-alembic/ash_authentication/commit/738bf9f32f2aa0d1bb92ce9ca5c2476cb5710459
patch
-
github.com
/team-alembic/ash_authentication/commit/2bd630eef8b7c8ae1e90e8fd43ba12fbc7e256ba
patch
-
github.com
/team-alembic/ash_authentication/security/advisories/GHSA-wc6x-276q-jrf9
related, vendor-advisory, advisory
-
cna.erlef.org
/cves/CVE-2026-88952.html
related, web
-
osv.dev
/vulnerability/EEF-CVE-2026-88952
related
-
hex.pm
/packages/ash_authentication
package
Sources
- CVE List CVE-2026-88952
- NVD CVE-2026-88952
- OSV EEF-CVE-2026-88952
- Maintainer advisory GHSA-wc6x-276q-jrf9
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.
The maintainers of team-alembic/ash_authentication published their own advisory on GitHub. Reviewed sources take precedence over it.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.