webauthn-server-core:
Security fixes:
- Fixed issue where
RelyingParty.finishAssertionandRelyingPartyV2.finishAssertioncould return a successful authentication result even though the authenticated credential is owned by a different user thanStartAssertionOptions.username. For details see YSA-2026-02: https://www.yubico.com/support/security-advisories/ysa-2026-02/- This fix is forward-ported from version 2.8.2 since the issue is also present in pre-release 2.9.0-alpha1.
Fixes:
- Added
@sincetags toAttestationTrustSourcejavadoc.
webauthn-server-attestation:
Changes:
FidoMetadataDownloaderbuilder method.downloadBlob(URL)now logs a warning if the given URL is not an HTTPS URL. Javadoc relaxed to not describe HTTPS as required since this was never enforced.
New features:
- Added
AuthenticatorStatus.RETIREDandFilters.notRetired(). - Added
AttachmentHint.ATTACHMENT_HINT_SMART_CARD. - Added
UNKNOWNconstant to all enums incom.yubico.fido.metadata: - Added enum constant
CtapVersion.FIDO_2_3. - Added missing fields to FIDO MDS data model:
AuthenticatorGetInfo:attestationFormats,longTouchForReset,uvCountSinceLastPinEntry,transportsForReset,pinComplexityPolicy,pinComplexityPolicyURL,maxPINLength,authenticatorConfigCommandsBiometricAccuracyDescriptor:iAPARThresholdMetadataStatement:friendlyNames,iconDark,providerLogoLight,providerLogoDark,keyScope,multiDeviceCredentialSupport,cxpConfigURLStatusReport:certificationProfiles,sunsetDate,fipsRevision,fipsPhysicalSecurityLevel
FidoMetadataDownloadernow sends theIf-None-Matchrequest header set to the"no"of the cached BLOB, if any, and handles304 Not Modifiedresponses appropriately.- In
FidoMetadataDownloaderif a BLOB download request returns an HTTP failure status, but returns anETagresponse header matching the"no"of the cached BLOB, if any, this is now interpreted like a successful304 Not Modifiedresponse. - Added
.cachePolicysetting toFidoMetadataDownloaderto allow dynamically opting out of falling back to cache when a BLOB download fails.
Fixes:
- Added
@sincetags toAuthenticatorStatusandFidoMetadataServicejavadoc. - All
com.yubico.fido.metadataenums now deserialize unknown values toUNKOWNinstead of crashing the parser.
Artifacts built with openjdk version "17.0.18" 2026-01-20.