跳至主要内容

S3 加密客户端中的密钥承诺问题

公告 ID:AWS-2025-032
范围:
AWS
内容类型:
重要提示(需要注意)
发布日期:2025 年 12 月 17 日下午 12:15(太平洋标准时间)


我们发现了以下 CVE:

  • CVE-2025-14763 – Java 版 S3 加密客户端中的密钥承诺问题
  • CVE-2025-14764 – Go 版 S3 加密客户端中的密钥承诺问题
  • CVE-2025-14759 – .NET 版 S3 加密客户端中的密钥承诺问题
  • CVE-2025-14760 – C++ 版 S3 加密客户端(适用于 C++ 的 AWS SDK 的一部分)中的密钥承诺问题
  • CVE-2025-14761 – PHP 版 S3 加密客户端(适用于 PHP 的 AWS SDK 的一部分)中的密钥承诺问题
  • CVE-2025-14762 – Ruby 版 S3 加密客户端(适用于 Ruby 的 AWS SDK 的一部分)中的密钥承诺问题

描述:

适用于 Java、Go、.NET、C++、PHP 和 Ruby 的 S3 加密客户端是开源客户端加密库,用于简化向 S3 写入和从 S3 读取加密记录。

当加密的数据密钥(EDK)存储在“指令文件”而不是 S3 的元数据记录中时,EDK 会遭受“隐形蝾螈”攻击,这可能会允许用新密钥替换 EDK。

受影响的版本:

  • S3 加密客户端 Java 版:<= 3.5.0
  • S3 加密客户端 Go 版:<= 3.1.0
  • S3 加密客户端 .NET 版:<= 3.1
  • 适用于 C++ 的 AWS SDK:<= 1.11.711
  • 适用于 PHP 的 AWS SDK:<= 3.367.0
  • 适用于 Ruby 的 AWS SDK:<= 1.207.0

解决方法:

我们正在向 S3EC 引入“密钥承诺”的概念,其中 EDK 以加密方式绑定到加密文字,进而解决这个问题。为了保持传输中消息的兼容性,我们发布了两个版本的修复程序。一个与代码兼容的次要版本,可以读取带有密钥承诺的消息但不能写入这些消息,以及一个新的主要版本,可以读取和写入带有密钥承诺的消息。我们建议客户升级到最新的主要版本。

临时措施:

没有已知的临时措施。

参考:


如有任何安全问题或疑虑,请发送电子邮件至 aws-security@amazon.com