CVE-2024-39912 Enumeration of valid usernames in web-auth/webauthn-lib
Attackers can enumerate valid usernames in applications using this WebAuthn library, facilitating targeted attacks against specific accounts.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2024-39912?
CVE-2024-39912 is a medium-severity vulnerability in web-auth webauthn-framework, published on 15 Jul 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
web-auth/webauthn-lib is an open source set of PHP libraries and a Symfony bundle to allow developers to integrate that authentication mechanism into their web applications. The ProfileBasedRequestOptionsBuilder method returns allowedCredentials without any credentials if no username was found. When WebAuthn is used as the first or only authentication method, an attacker can enumerate usernames based on the absence of the `allowedCredentials` property in the assertion options response. This allows enumeration of valid or invalid usernames. By knowing which usernames are valid, attackers can focus their efforts on a smaller set of potential targets, increasing the efficiency and likelihood of successful attacks. This issue has been addressed in version 4.9.0 and all users are advised to upgrade. There are no known workarounds for this vulnerability.
Weakness: CWE-204
Which versions are affected by CVE-2024-39912?
4 open source packages ship an affected version, including web-auth/webauthn-framework and web-auth/webauthn-lib.
| Package | Affected | Fixed in |
|---|---|---|
web-auth/webauthn-framework Packagist | From 4.5.0 | 4.9.0 |
web-auth/webauthn-framework Packagist | From 4.5.0 | 4.9.0 |
web-auth/webauthn-lib Packagist | From 4.5.0 | 4.9.0 |
web-auth/webauthn-lib Packagist | From 4.5.0 | 4.9.0 |
How do I fix CVE-2024-39912?
Upgrade web-auth/webauthn-framework to 4.9.0 or later.
Is CVE-2024-39912 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2024-39912 exists.
Sources
Also known as GHSA-875x-g8p7-5w27.