GitHub Advisoryadvisory · npm

GHSA-4vcf-q4xf-f48m Better Auth Passkey Plugin allows passkey deletion through IDOR

HIGH Published 2025-11-25 Modified 2025-11-25 Official page ↗
Ecosystem
npm
Packages
@better-auth/passkey
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:L
Weaknesses
CWE-284, CWE-639
Reviewed
2025-11-25

Affected packages

• npm @better-auth/passkey: < 1.4.0 → fixed in 1.4.0

Description

Summary Affected versions of the better-auth passkey plugin allow users with any valid session to delete arbitrary passkeys via their ID using `POST /passkey/delete-passkey`. Details `ctx.body.id` is implicitly trusted and used in passkey deletion queries. better-auth applications configured with `useNumberId` may use auto incrementing IDs which makes it trivial to delete all passkeys via enumeration.

Related

Weakness · CWE (2)

  • CWE-284 Improper Access Control weakness
  • CWE-639 Authorization Bypass Through User-Controlled Key weakness

References