CVE-2024-39912 Enumeration of valid usernames in web-auth/webauthn-lib

Medium 5.3 Published Updated

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.

PackageAffectedFixed in
web-auth/webauthn-framework PackagistFrom 4.5.04.9.0
web-auth/webauthn-framework PackagistFrom 4.5.04.9.0
web-auth/webauthn-lib PackagistFrom 4.5.04.9.0
web-auth/webauthn-lib PackagistFrom 4.5.04.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.

Is CVE-2024-39912 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free