GHSA-p845-629j-rcj6: Go/github.com/QuantumNous/new-api vulnerability
Summary
The admin passkey reset endpoint lacked the role-level authorization check used by comparable privileged account-protection endpoints. A lower-privileged administrator could attempt passkey reset operations against same-level or higher-privileged users, including root-level accounts.
Impact
If the target account had a passkey configured, a lower-privileged administrator could remove that authentication factor and weaken the target account's protection boundary. The attacker still needed administrator privileges, so the issue is rated Medium.
Affected versions
The vulnerable admin passkey reset behavior was present from the passkey feature introduction in v0.9.1.3 through versions before v1.0.0-rc.7.
Patches
This issue is fixed in v1.0.0-rc.7. The fix adds a canManageTargetRole check to AdminResetPasskey before passkey lookup or deletion, preventing lower-privileged administrators from operating on same-level or higher-privileged users.
Workarounds
If upgrading immediately is not possible, restrict admin access to trusted operators only and block DELETE /api/user/:id/resetpasskey at the reverse proxy or gateway except for root operators.
References
- Fixed by commit 0936e2504655a5cbf7bc3c388f6d3e2bb24916d3. - Relevant code paths: controller/passkey.go, controller/twofa.go, and router/api-router.go.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
go/github.com/QuantumNous/new-apito a version that resolves this vulnerability.Fixed in 1.0.0-rc.7 - Upgrade
Upgrade
passkey feature (AdminResetPasskey)to a version that resolves this vulnerability.Fixed in v1.0.0-rc.7Patch 0936e2504655a5cbf7bc3c388f6d3e2bb24916d3 - Compensating control
If upgrading immediately is not possible, restrict admin access to trusted operators only and block the reverse-proxy/gateway route `DELETE /api/user/:id/reset_passkey` except for root operators.
Event History
Frequently Asked Questions
What is the severity of GHSA-p845-629j-rcj6?
The severity of GHSA-p845-629j-rcj6 is classified as risk level 44.
What type of vulnerability is GHSA-p845-629j-rcj6?
GHSA-p845-629j-rcj6 is a role-level authorization vulnerability affecting admin passkey reset operations.
How do I fix GHSA-p845-629j-rcj6?
To fix GHSA-p845-629j-rcj6, implement proper role-level authorization checks for the admin passkey reset endpoint.
Who is affected by GHSA-p845-629j-rcj6?
GHSA-p845-629j-rcj6 affects lower-privileged administrators who can attempt passkey resets on same-level or higher-privileged users.
What can happen if GHSA-p845-629j-rcj6 is exploited?
Exploitation of GHSA-p845-629j-rcj6 could allow unauthorized password resets, potentially compromising root-level accounts.