JWT libraries historically accepted ‘alg: none’ as a valid signing algorithm — meaning no signature was required at all. Attackers could strip the signature, set alg=none in the header, and forge any claims. Modern libraries reject it by default. Always allowlist the expected algorithm when verifying — do not trust the alg field from the token.
All questions