Quick answers
- Is This vulnerability exploited in the wild?
- No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.
- How severe is This vulnerability?
- Low severity, with a CVSS score of 2.9, published 7 July 2026.
- Which products and versions are affected?
- web-auth/webauthn-lib (Packagist) >= 4.9.0, < 5.3.5; Web-Auth Webauthn-Lib >= 4.9.0, < 5.3.5.
- Is there a fix for This vulnerability?
- A patch was published on 2026-07-07: Fixed in version 5.3.5 Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is This vulnerability attacked?
- It is attacked over the network, in a software library.
- Am I affected?
- Check whether you run web-auth/webauthn-lib (Packagist) or Web-Auth Webauthn-Lib at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
Technical details
The `SimpleFakeCredentialGenerator` in `web-auth/webauthn-lib` is designed to mitigate username enumeration by returning stable decoy `PublicKeyCredentialDescriptor` objects for unknown users. However, the generator's constructor defaults to an empty string for its secret. Because the seed for generating these decoys is derived using a public algorithm (`hash('sha256', $username . $this->secret)`) and the secret is empty by default, an unauthenticated remote attacker can locally pre-compute the expected decoy list for any username. By comparing the server's response to their calculated decoys, the attacker can determine if a username is valid or not. This has been patched in version 5.3.5 by adding deprecation warnings for empty secrets, with a non-empty secret becoming mandatory in version 6.0.0.
Affected products
- web-auth webauthn-lib >= 4.9.0, < 5.3.5
Timeline
- 2026-05-31: disclosed
- 2026-07-07: advisory: GitHub Advisory published
- 2026-07-07: patched: Fixed in version 5.3.5