SD JWT JS: Tampered disclosures silently dropped instead of rejected
SD JWT JS (@sd-jwt/core and @sd-jwt/decode) up to version 0.19.0 does not reject an SD-JWT presentation when a Disclosure has been tampered with or is malformed. The library silently drops the affected Disclosure and returns a reduced claim set without an error, although the Issuer signature remains valid. A malicious holder can thereby omit claims, and an on-path attacker can do the same if the relying party does not enforce key binding. If a verifier defaults to allowing access when a claim such as age or role is absent, this can change an authorization decision.
OpenWallet Foundation · SD JWT JS (@sd-jwt/core)
