Cloudanix VulnDB

GHSA-7hgr-xvrr-xpw3

Medium · 5.4

nhost has Session Persistence After Password Change

CVSS

5.4

EPSS

—

Published

May 8, 2026

CISA due date

—

The record

When a user changes their password, either through the authenticated password change endpoint or a password reset ticket, the [`ChangePassword`](https://github.com/nhost/nhost/blob/main/services/auth/go/controller/workflows.go#L731-L759) workflow correctly hashes and persists the new password via [`UpdateUserChangePassword`](https://github.com/nhost/nhost/blob/main/services/auth/go/sql/query.sql#L314-L318). However, it does not revoke existing sessions. The `auth.refresh_tokens` and `auth.oauth2_refresh_tokens` tables are left untouched, meaning all previously issued refresh tokens remain valid and can continue generating new access tokens indefinitely. This vulnerability affects all password change paths (handled in [`change_user_password.go`](https://github.com/nhost/nhost/blob/main/services/auth/go/controller/change_user_password.go)), since they share the same underlying workflow: - Authenticated password change via the Nhost dashboard or client SDK - Ticket-based password reset (magic links / recovery flows) - OAuth2/OIDC sessions managed via `auth.oauth2_refresh_tokens`

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities