CVE-2026-22817Hono是一个轻量级的Web应用框架,支持任何JavaScript运行时。该框架在4.11.4之前的版本中存在严重的JWT验证中间件缺陷,攻击者可以利用JWT header中的alg(算法)字段影响签名验证过程。当JWT验证所使用的JWK(JSON Web Key)没有明确指定算法时,攻击者可以通过算法混淆攻击伪造有效的JWT令牌,从而绕过身份验证机制访问受保护资源。此漏洞影响所有使用Hono框架JWT中间件进行令牌验证的应用程序,CVSS评分8.2,属于高危漏洞。建议受影响的用户立即升级到4.11.4或更高版本,并确保在JWT验证时显式指定alg选项。
该漏洞源于Hono框架JWT中间件在验证JWT签名时,未正确限制允许的算法类型。攻击者可以利用以下攻击场景:1)目标应用使用RS256(RSA签名)算法验证JWT,但JWK未指定alg;2)攻击者将JWT header中的alg字段从RS256改为HS256(HMAC签名);3)攻击者使用泄露的RSA公钥作为HMAC对称密钥重新签名JWT;4)由于应用使用公钥作为HMAC密钥验证,攻击者伪造的令牌被错误地验证通过。攻击者成功利用此漏洞后可冒充任意用户身份,获取未授权访问权限。修复措施要求开发者在配置JWT验证时必须显式指定alg选项,推荐使用RS256或ES256等非对称算法,避免使用HS256对称算法。