Java 发现年度加密漏洞,15/16/17/18 版本用户需尽快修复!

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: Java 发现年度加密漏洞,15/16/17/18 版本用户需尽快修复!

近日,安全研究员 Khaled Nassar 在 GitHub 上公开了 Java 中新披露的数字签名绕过漏洞的 PoC 代码,其被追踪为CVE-2022-21449。

据了解,该漏洞由安全咨询公司 ForgeRock 研究员 Neil Madden 于去年 11 月发现,并于当天就将此情况通知了甲骨文(Oracle)。

尽管甲骨文给这个漏洞的 CVSS 评分只有 7.5,但 ForgeRock 表示,在这个漏洞被发现之初,他们已经私下披露了该漏洞,并将该漏洞的 CVSS 评为 10 分。

Madden 对此解释称,“很难夸大这个漏洞的严重性。如果将 ECDSA 签名用于这些安全机制(SSL、JWT、WebAuthn)中的任何一个,并且你的服务器在 2022 年 4 月重要补丁更新 (CPU)之前运行的是 Java 15、16、17 或 18 版本,攻击者就可以轻而易举地完全绕过它们。现实世界中几乎所有的 WebAuthn/FIDO 设备(包括 Yubikey)都使用 ECDSA 签名,许多 OIDC 提供商使用 ECDSA 签名的 JWT。”

此外,信息安全专家 Thomas Ptacek 已经将该漏洞描述为“年度加密漏洞”。

该漏洞被称为 Psychic Signatures,与 Java 对椭圆曲线数字签名算法(ECDSA)的实现有关,存在于 Java 15、16、17、18 版本中。这是一种加密机制,用于对消息和数据进行数字签名,以验证内容的真实性,攻击者可利用此漏洞伪造 TSL 签名并绕过身份验证措施。

Nassar 证明称,设置恶意 TLS 服务器可以欺骗客户端接受来自服务器的无效签名,从而有效地允许 TLS 的其余部分继续进行。

该漏洞会影响以下版本的Java SE和Oracle GraalVM Enterprise Edition:

  • Oracle Java SE:7u331, 8u321, 11.0.14, 17.0.2, 18
  • Oracle GraalVM 企业版:20.3.5, 21.3.1, 22.0.0.2

目前,甲骨文已经在重要补丁更新公告中修复了此次的漏洞,并呼吁使用 Java 15、16、17、18 的开发者或企业尽快更新。

相关文章
|
19天前
|
SQL 安全 Java
JavaSecLab 一款综合Java漏洞平台
JavaSecLab是一款综合型Java漏洞学习平台,涵盖多种漏洞场景,提供漏洞代码、修复示例、安全编码规范及友好UI。适用于安全服务、甲方安全培训、安全研究等领域,助于理解漏洞原理与修复方法。支持跨站脚本、SQL注入等多种漏洞类型……
|
1月前
|
Java Linux Windows
如何查看已安装的 Java 版本
要查看已安装的 Java 版本,打开命令提示符或终端,输入 `java -version`,回车后即可显示当前系统中 Java 的版本信息。
209 1
|
1月前
|
Ubuntu Java Linux
如何检查 Java 版本是否兼容
要检查Java版本是否兼容,可在命令行输入“java -version”查看当前安装的Java版本,然后对比目标应用所需的Java版本,确保其满足要求。
60 1
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
104 2
|
2月前
|
Java Docker 容器
java版本学习网站又添加了一个libgdx模块
java版本学习网站之前添加了docker,想了想还是再把libgdx添加进去吧。
32 3
|
2月前
|
Java Maven Spring
查看springboot版本支持最高的java版本
截至最近更新,Spring Boot 3.0及以上版本支持的最高Java版本为Java 17。鉴于技术的不断演进,建议直接参考Spring Boot的官方文档获取最准确的支持信息,因为这些版本兼容性可能会随着新版本的发布而有所变化。选择与你的Spring Boot版本相匹配的Java版本,可以确保充分利用框架特性,同时保证项目的稳定性和前瞻性。
89 0
|
2月前
|
存储 安全 Java
shiro学习二:shiro的加密认证详解,加盐与不加盐两个版本。
这篇文章详细介绍了Apache Shiro安全框架中密码的加密认证机制,包括不加盐和加盐两种加密方式的实现和测试。
118 0
|
2月前
|
安全 Java Python
基于python-django的Java网站全站漏洞检测系统
基于python-django的Java网站全站漏洞检测系统
35 0
|
2月前
|
Java Linux Maven
用sdkman在linux上管理多个java版本
本文介绍了如何在Linux上使用SDKMAN来管理多个Java版本,包括安装SDKMAN、验证安装、列出和安装不同版本的JDK、Maven和Gradle,以及如何切换使用不同版本。
71 0
|
5月前
|
Java API 开发者
Java版本对比:特性、升级改动与优势分析
Java版本对比:特性、升级改动与优势分析
100 0