跳至主要内容

CVE-2026-16317 和 CVE-2026-16318:s2n-tls 的问题:TLS/SSL 协议的开源实现

公告 ID:2026-062-AWS
范围:AWS
内容类型:重要提示(需要注意)
发布日期:2026 年 7 月 21 日下午 1:00(太平洋夏令时)

描述:

s2n-tls 是 TLS/SSL 协议的开源 C99 实现。我们已确定了两个不同的问题:

  • CVE-2026-16317:s2n-tls 中 TLS 1.3 加密记录的静默丢弃
    s2n-tls 中对 TLS 1.3 加密记录的外部 content_type 字节缺少验证,允许活跃的中间人攻击者静默丢弃单个应用数据记录,而两端端点均无法检测到该修改。RFC 8446 第 5.2 节要求所有加密的 TLS 1.3 记录的外部 content_type 必须为 application_data(0x17)。s2n-tls 的 AEAD 实现在附加认证数据中硬编码了该值,而非使用实际的传输字节,因此外部 content_type 不受认证标签保护。所有 TLS 1.3 连接均受影响。TLS 客户端和服务器均受影响。TLS 1.2 和 QUIC 连接不受影响。

  • CVE-2026-16318:s2n-tls 中 HelloRetryRequest 期间的 QUIC 传输参数内存泄漏
    s2n-tls 的 QUIC 传输参数扩展处理程序中错误地使用了 s2n_alloc 而非 s2n_realloc,导致每次启用 QUIC 的 TLS 1.3 连接经历 HelloRetryRequest 时都会泄漏一次内存分配。当客户端提供的密钥共享组并非服务器偏好的组时,这种情况可能在正常握手期间发生,并可能导致长时间运行的服务器进程内存消耗增加。仅启用 QUIC 的部署受影响。

受影响的版本:<= v1.7.5

解决方法:

这些问题已在 s2n-tls 版本 v1.7.6 中得到解决。建议您升级到最新版本,并确保对任何分叉代码或派生代码进行修补,以纳入新的修复程序。

临时措施:

对于 CVE-2026-16317(TLS 1.3 加密记录的静默丢弃),没有能够完全缓解该问题的规避措施。将 s2n-tls 配置为仅使用 TLS 1.2 安全策略可以避免受影响的代码路径,但不建议此做法,因为会失去 TLS 1.3 的安全优势。

对于 CVE-2026-16318(HelloRetryRequest 期间的 QUIC 传输参数内存泄漏),未启用 QUIC 的部署不受影响,无需采取任何操作。对于启用 QUIC 的部署,定期重启服务器进程可以作为临时缓解措施,回收无法访问的内存。

参考:


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