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 以加密方式绑定到加密文字,进而解决这个问题。为了保持传输中消息的兼容性,我们发布了两个版本的修复程序。一个与代码兼容的次要版本,可以读取带有密钥承诺的消息但不能写入这些消息,以及一个新的主要版本,可以读取和写入带有密钥承诺的消息。我们建议客户升级到最新的主要版本。
临时措施:
没有已知的临时措施。
参考:
- https://eprint.iacr.org/2019/016
- GHSA-x44p-gvrj-pj2r
- GHSA-3g75-q268-r9r6
- GHSA-4v42-65r3-3gjx
- GHSA-792f-r46x-r7gm
- GHSA-x8cp-jf6f-r4xh
- GHSA-2xgq-q749-89fq
如有任何安全问题或疑虑,请发送电子邮件至 aws-security@amazon.com。