{"items":[{"id":"NVI-00015091","kind":"vulnerability","title":" Budibase: OIDC SSO account takeover: incoming identity linked by email without checking email_verified","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-hp6v-6jw7-gv2f","CVE-2026-73302"],"plain_summary":"GitHub lists this reviewed advisory for @budibase/server. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-1e60c3a2a826a71cb48bfeac0b31b273"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-1e60c3a2a826a71cb48bfeac0b31b273","url":"https://github.com/advisories/GHSA-hp6v-6jw7-gv2f","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-hp6v-6jw7-gv2f","publisher":"GitHub Advisory Database","observed_at":"2026-11-02T20:17:12.848Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-1e60c3a2a826a71cb48bfeac0b31b273"],"technology":"@budibase/server","known_exclusions":[],"conditions_summary":"### Summary\nBudibase's OIDC SSO login links an incoming SSO identity to an existing Budibase account **by email address alone**, without ever checking the `email_verified` claim of the OIDC ID token. Budibase first tries to match the IdP `sub`; when that misses (any fresh attacker IdP account) it silently falls back to matching by the `email` claim and **merges into the existing account by email**, preserving that account's `_id` and roles. Because the `email_verified` flag is never read, an attacker who can make a **configured/trusted** IdP emit a token carrying `email = ` with `email_verified = false` is logged into Budibase **as the victim**, inheriting the victim's roles (including global admin/builder). Per OIDC Core §5.7 the `email` claim MUST NOT be used as an identity key unless `email_verified` is `true`; Budibase effectively delegates all account-linking trust to every configured IdP's email-verification policy while checking nothing itself. Full account takeover of any existing Budibase user, including the instance owner.\n\n### Details\nThe OIDC verify callback extracts the email and never consults `email_verified`:\n- `packages/backend-core/src/middleware/passport/","public_affected_ranges":["<= 3.38.1"]}],"null_published_at":"2026-11-03T10:03:26.547Z","source_updated_at":"2026-08-12T18:57:08.000Z","source_disclosed_at":"2026-07-24T21:17:39.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-02T20:17:12.848Z"}],"next_cursor":null,"snapshot_revision":"42594"}