CVE-2026-41574 json
Nhost Vulnerable to Account Takeover via OAuth Email Verification Bypass
published 6mo ago modified 4mo ago also EUVD-2026-28650 , GHSA-6g38-8j4p-j3pr , GO-2026-5176
- cvss
- 9.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.8%
- EPSS 0.8% chance of exploitation in 30 days, percentile 56%
- public exploits
- 0
- none known
Summary
Nhost is an open source Firebase alternative with GraphQL. Prior to version 0.49.1, Nhost automatically links an incoming OAuth identity to an existing Nhost account when the email addresses match. This is only safe when the email has been verified by the OAuth provider. Nhost's controller trusts a profile.EmailVerified boolean that is set by each provider adapter. The vulnerability is that several provider adapters do not correctly populate this field they either silently drop a verified field the provider API actually returns (Discord), or they fall back to accepting unconfirmed emails and marking them as verified (Bitbucket). Two Microsoft providers (AzureAD, EntraID) derive the email from non-ownership-proving fields like the user principal name, then mark it verified. The result is that an attacker can present an email they don't own to Nhost, have the OAuth identity merged into the victim's account, and receive a full authenticated session. This issue has been patched in version 0.49.1.
Patch / fix
- go github.com/nhost/nhost 0.0.0-20260417112436-ec8dab3f2cf4
- nhost auth 0.49.1
- nhost nhost/auth 0.49.1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
Is CVE-2026-41574 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
- yes
- Technical impact
- total
- Assessed
- 6mo ago
Exploit prediction
0.80% chance of exploitation in the next 30 days, higher than 56% of all scored CVEs (FIRST EPSS, 2026-11-09).
Exploits and checks
- github.com https://github.com/nhost/nhost/pull/4162 referenced PoC, tagged "exploit" by a source, unverified
- github.com https://github.com/nhost/nhost/security/advisories/GHSA-6g38-8j4p-j3pr referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 9.3 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N |
| GitHub | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| CNA | 4.0 | 9.3 | CVSS:4.0/AV:N/AC:L/AT:N/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 |
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/nhost/nhost | <0.0.0-20260417112436-ec8dab3f2cf4 |
0.0.0-20260417112436-ec8dab3f2cf4 |
Affected products
- nhost nhost
Classification
- Weakness
-
- CWE-287 Improper Authentication
References
-
github.com
/nhost/nhost/pull/4162
web, exploit, patch
-
github.com
/nhost/nhost/commit/ec8dab3f2cf46e1131ddaf893d56c37aa00380b2
web, patch
-
github.com
/nhost/nhost/security/advisories/GHSA-6g38-8j4p-j3pr
web, exploit, patch, vendor-advisory, advisory
-
github.com
/nhost/nhost/releases/tag/auth%400.49.1
web, release-notes
-
nvd.nist.gov
/vuln/detail/CVE-2026-41574
advisory
-
github.com
/nhost/nhost
package
Sources
- CVE List CVE-2026-41574
- GitHub Advisory GHSA-6g38-8j4p-j3pr
- NVD CVE-2026-41574
- OSV GO-2026-5176
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.