低危 ParseWithClaims 中错误处理的错误文档可能导致 golang-jwt 中出现潜在的危险情况 (CVE-2024-51744)
CVE编号
CVE-2024-51744利用情况
暂无补丁情况
官方补丁披露时间
2024-11-05漏洞描述
golang-jwt 是 JSON Web Tokens 的 Go 语言实现。在 `ParseWithClaims` 中错误行为的文档不清晰,可能导致用户没有按照应有的方式检查错误。特别是当令牌既已过期又无效时,`ParseWithClaims` 返回的错误会包含两个错误代码。如果用户仅使用 `error.Is` 检查 `jwt.ErrTokenExpired` 错误,他们将忽略嵌入的 `jwt.ErrTokenSignatureInvalid` 错误,从而可能接受无效的令牌。已从 `v5` 分支将错误处理逻辑反向移植到 `v4` 分支以进行修复。在此逻辑中,如果处于“危险”情况(例如,签名无效),`ParseWithClaims` 函数将立即返回。仅当签名有效但进一步验证失败的情况下(例如,签名有效,但已过期并且具有错误的受众),才会返回组合错误。此修复是 4.5.1 版本发布的一部分。我们意识到这改变了已建立函数的行为,并且不是 100% 向后兼容,因此升级到 4.5.1 版本可能会破坏您的代码。如果您不能更新到 4.5.0 版本,请确保您首先正确检查所有错误(首先是“危险”错误),以免出现上述描述的情况。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。- 攻击路径 本地
- 攻击复杂度 困难
- 权限要求 管控权限
- 影响范围 有限影响
- EXP成熟度 未验证
- 补丁情况 官方补丁
- 数据保密性 无影响
- 数据完整性 无影响
- 服务器危害 无影响
- 全网数量 N/A
CWE-ID | 漏洞类型 |
CWE-755 | 对异常条件的处理不恰当 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论