GHSA-p845-629j-rcj6
New API: Admin can reset passkeys for same-level or higher-privileged users
Quick fix
GHSA-p845-629j-rcj6 — github.com/QuantumNous/new-api: upgrade to the fixed version with the command below.
go get github.com/QuantumNous/new-api@v1.0.0-rc.7 Details
## 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/reset_passkey` 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`.
Are you affected?
Enter the version of the package you're using.
Affected packages
0.9.1.3 Fixed in: 1.0.0-rc.7 go get github.com/QuantumNous/new-api@v1.0.0-rc.7 References
- https://github.com/QuantumNous/new-api/security/advisories/GHSA-p845-629j-rcj6 [WEB]
- https://github.com/QuantumNous/new-api/pull/4929 [WEB]
- https://github.com/QuantumNous/new-api/commit/0936e2504655a5cbf7bc3c388f6d3e2bb24916d3 [WEB]
- https://github.com/QuantumNous/new-api [PACKAGE]
- https://github.com/QuantumNous/new-api/releases/tag/v1.0.0-rc.7 [WEB]