Open Bug 2064183 Opened 2 months ago Updated 2 months ago

Support PQC / ML-DSA algorithms when creating WebAuthn credentials

Categories

(Core :: DOM: Web Authentication, enhancement, P3)

Firefox 156
Desktop
Unspecified
enhancement

Tracking

()

Tracking Status
firefox-esr153 --- affected
firefox154 --- affected
firefox155 --- affected
firefox156 --- affected

People

(Reporter: josh.cigna, Unassigned)

Details

Attachments

(1 file)

Steps to reproduce:

This has been tested on Linux and MacOS. On MacOS you need to disable macOS system webauthn subsystem to replicate behavior of Linux Build (set security.webauthn.enable_macos_passkeys = false.)

This was tested with a Hardware Security USB Key that has support for ML-DSA algorithms.

1: Navigate to Webauthn.io
2: Enter a test username and then expand advanced settings.
3: Ensure that only the ML-DSA algorithms are selected.
4: Click on "Register"
5: Connect security key to device.
6: Enter Pin
7: Registration Fails.

Actual results:

Registrations fails with a non-deterministic error message.
This process works with other browsers on other operating systems.

Expected results:

Expected result is the creation of a credential on the security key.

Creation of credentials with ML-DSA algorithms work with the Android version of FireFox. Firefox on linux seems to be able to read credentials that have bene created on other platforms, the issue seem to be related to credential creation.

The Bugbug bot thinks this bug should belong to the 'Core::DOM: Web Authentication' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → DOM: Web Authentication
Product: Firefox → Core

This is COSE algorithms -48, -49 and -50, which were added in RFC 9964 (published May 2026).

According to the current FIDO MDS (v276), no certified authenticators support ML-DSA, either as an undocumented MetadataStatement.authenticationAlgorithms variant, or in AuthenticatorGetInfo.algorithms[].alg.

ML-DSA algorithms do not appear in the MDS schema (published Jan 2026, prior to RFC 9964). However, the published MDS deviates from this published schema (eg: MetadataStatement.iconDark), so I don't take that as authoritative.

There's ongoing discussion within the WebAuthn WG about how to migrate existing credentials to PQC algorithms:

And there are no ML-DSA test vectors: https://github.com/w3c/webauthn/issues/2393

ML-DSA and PQC algorithms will likely be part of WebAuthn Level 4, but there is not even a published working draft.

Elsewhere:

In short, I don't think that a RP can require support for PQC / ML-DSA algorithms today and expect it to be usable by a member of the general public.

Adding support for ML-DSA algorithms needs:

  • add COSEAlgorithm variants to authenticator-rs
  • ensure it's all plumbed through the WebAuthn stack in Firefox
  • ensure platform APIs plumb through the MakeCredential algorithm list
  • ensure old versions of platform APIs handle "unknown" algorithms properly
  • add support to TestToken (virtual authenticator)

As of authenticator-rs v0.6.0 (which is already shipping with Firefox), an authenticator which supports algorithms unknown to Firefox should work with other algorithms, so an ML-DSA-supporting authenticator should work fine with other algorithms.

Severity: -- → S3
Status: UNCONFIRMED → NEW
Type: defect → enhancement
Ever confirmed: true
Priority: -- → P3
Hardware: Unspecified → Desktop
Summary: Webauthn requests with only ML-DSA signatures fail to create credentials → Support ML-DSA algorithms when creating WebAuthn credentials
Summary: Support ML-DSA algorithms when creating WebAuthn credentials → Support PQC / ML-DSA algorithms when creating WebAuthn credentials
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: