サービスが verify(token, publicKeyPem) で RS256 のトークンを検証しており、ライブラリが渡された鍵が何であれ HS256 も受け入れる場合、攻撃者は(JWKS で公開されている)公開鍵を入手し、そのバイト列をシークレットとして偽造したヘッダーとペイロードの HMAC を計算し、"alg": "HS256" を設定します。するとサーバーは正しい HMAC を確認することになります。Tim McLean は 2015年にこの攻撃を none とともに報告しました。その後も、トークンの jwk ヘッダーに埋め込まれた JWK を経由するものを含め、新しいライブラリやフレームワークで亜種が現れ続けています。
対策(RFC 8725 §3.1)は、検証側ですべての鍵をちょうど 1 つのアルゴリズムに結び付けることです。具体的には、アルゴリズムの許可リスト、HMAC のシークレットとして流用できない型付きの鍵オブジェクト、各 JWK の alg とトークンとの照合を用い、トークンが指定する jwk、jku、x5u からは、信頼できるかを判断せずに鍵を選ばないことです。RFC 9864 の完全指定のアルゴリズム名は、EdDSA のような多態的な識別子に関わる曖昧さも解消します。