JanssenProject / JanssenProject/jans
feat(jans-fido2): Apple attestation silently accepts statements with no x5c
- 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
Assessment
This issue has not been assessed yet.