JanssenProject / JanssenProject/jans

feat(jans-fido2): Apple attestation silently accepts statements with no x5c

Open
#14,272 1 comment 1 reaction 1 assignee Claimed by @imran-ishaq View on GitHub
comp-jans-fido2 enhancement kind-feature
Dominant language
Java
Stars
648
Forks
174
Avg merge
1d 18h
Merged PRs (30d)
110

Description

**Is your feature request related to a problem? Please describe.**
In `AppleAttestationProcessor`, the entire verification body is gated on
`if (attStmt.hasNonNull("x5c"))`. When the `x5c` certificate chain is absent, the method
returns having performed no checks, so the registration is silently accepted. Apple attestation
is always a FULL attestation, so a missing `x5c` should be a hard rejection. The FIDO Alliance
conformance suite sends this negative vector and expects it to fail (part of #9640).

**Describe the solution you'd like**
Reject any Apple attestation statement that does not contain `x5c` with a clear `apple_error`
failure, instead of returning without verifying.

**Describe alternatives you've considered**
Leaving the implicit `hasNonNull("x5c")` gate as-is — rejected because it allows an unverified
attestation to pass, which is both a conformance failure and a security weakness.

**Additional context**
Part of the FIDO2 Server Functional Conformance remediation plan tracked in #9640 (Phase 4,
CONF-18). Component: jans-fido2.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.