网站首页 > 博客文章 正文
如果您的服务器在2022 年 4 月重要补丁更新 (CPU)之前运行任何 Java 15、16、17 或 18 版本,且使用ECDSA 签名加密:SSL 证书和握手(允许拦截和修改通信)、签名的 JWT 、SAML 断言或OIDC id 令牌,甚至是WebAuthn身份验证消息,那么,攻击者可以轻松伪造攻陷。
现实世界中几乎所有的 WebAuthn/FIDO 设备(包括 Yubikeys *)都使用 ECDSA 签名,许多 OIDC 提供商使用 ECDSA 签名的 JWT。
如果您在生产环境中部署了 Java 15、Java 16、Java 17 或 Java 18,那么您应该停止正在执行的操作并立即更新以安装2022 年 4 月重要补丁更新中的修复程序。
更新:Oracle 的官方公告还列出了 Java 旧版本也可能受到影响,包括 7、8 和 11。
在同一个 CPU 中还报告了其他安全漏洞,因此(一如既往)即使您运行的是较旧的 Java 版本,也值得升级。另一方面,OpenJDK公告仅列出了受此特定问题 (CVE-2022-21449) 影响的版本 15、17 和 18。、
Oracle 对此的 CVSS 评分为 7.5,对机密性或可用性没有影响, ForgeRock 将其评为完美 10.0 。
背景:ECDSA 签名
ECDSA 代表Elliptic Curve Digital Signature Algorithm,它是一种广泛使用的标准,用于签署各种数字文档。与旧的 RSA 标准相比,椭圆曲线密钥和签名往往要小得多,以实现同等安全性,因此它们被广泛用于大小非常宝贵的情况。例如,用于两因素身份验证的 WebAuthn 标准允许设备制造商从广泛的签名算法中进行选择,但实际上,迄今为止制造的几乎所有设备都仅支持 ECDSA 签名(一个值得注意的例外是使用 RSA 的 Windows Hello签名;大概是为了与旧的TPM硬件兼容)。
为什么现在才发现?
您可能想知道为什么在 Java 长期以来一直支持 ECDSA 的情况下这才被曝光。它一直很脆弱吗?
不,这是一个相对较新的错误,是通过将 EC 代码从本机 C++ 代码重写为 Java 引入的,这发生在 Java 15 版本中。
尽管这种重写在内存安全性和可维护性方面有好处,但似乎经验丰富的密码工程师并未参与实施。
最初的 C++ 实现不容易受到这些错误的影响,但重写却是。两种实现似乎都没有很好的测试覆盖率,即使是对 ECDSA 规范的最粗略阅读也肯定会建议测试无效的 r 和 s 值被拒绝。
时间线
- 2021 年 11 月 11 日– 发现问题并向 OpenJDK 漏洞报告电子邮件地址披露。
- 2021年11月 11 日– 确定了在 Java 15 中引入错误的JDK 更改。
- 2021 年 11 月 12 日——甲骨文的初步确认。
- 2021 年 11 月 18 日– Oracle 确认了该错误并表示将在未来的重要补丁更新 (CPU) 中对其进行修补。它被分配了跟踪 ID S1559193。
- 2021 年 11 月 18 日– ForgeRock发布安全公告,通知我们的客户不要将受影响的 Java 版本部署到生产环境中。
- 2022 年 1 月 14 日– 向 Oracle 询问状态更新。告知该修复程序针对 2022 年 4 月的 CPU,计划于 4 月 19 日发布。
- 2022 年 3 月 25 日– 再次与 Oracle 确认修复将在 4 月 CPU 中进行。通知他们,如果到那时该错误仍未修复,ForgeRock 将继续进行全面披露。
- 2022 年 4 月 19 日– 甲骨文在 4 月 CPU 中发布了修复程序。
- 2022 年 4 月 19 日——文章发表。
猜你喜欢
- 2024-10-11 苹果手机出现新严重漏洞:账户被接管
- 2024-10-11 你必须知道的十大漏洞之失效的访问控制——A1
- 2024-10-11 互联网小产品开发之(4)基于JWT的登录认证设计
- 2024-10-11 苹果在macOS,iOS中散布零日漏洞(如何在普通pc上安装macos苹果操作系统)
- 2024-10-11 「热点」微软自动化服务被爆高危的账户越权访问漏洞
- 2024-10-11 黑客发现苹果安全漏洞;苹果支付10万美元赏金
- 2024-10-11 垂直越权漏洞与代码分析(垂直越权漏洞修复方案)
- 2024-10-11 Apple登录功能存在安全漏洞,允许未经授权的黑客访问用户信息
- 2024-10-11 在Web应用中,别再把JWT当做session使用
- 2024-10-11 专业洞察:GitHub漏洞允许第三方应用程序获取升级权限
你 发表评论:
欢迎- 367℃用AI Agent治理微服务的复杂性问题|QCon
- 358℃初次使用IntelliJ IDEA新建Maven项目
- 356℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 351℃Maven技术方案最全手册(mavena)
- 348℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 346℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 345℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 342℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)