系统极客一直在努力
专注操作系统及软件使用技能

OpenSSL 3.6.1 发布:修复多项高危漏洞,涵盖内存与协议安全问题

OpenSSL

知名加密库 OpenSSL 3.6.1 正式发布!这是一次以「安全」为核心的紧急补丁更新,集中修复了从上个版本以来披露的多个漏洞,其中包含了被官方评为「高危」的严重安全隐患。

OpenSSL 3.6.1 主要更新

本次更新的重中之重,是修复了 CVE-2025-11187。该漏洞源于 PKCS#12 MAC 验证过程中对 PBMAC1 参数缺乏有效校验,可能导致栈缓冲区溢出或空指针解引用,属于必须立即修补的安全短板。

内存安全修复

OpenSSL 3.6.1 堵上了多处潜在的内存安全缺口:

  • 修复了 CMS AuthEnvelopedData 解析时因未验证初始化向量(IV)长度导致的栈缓冲区溢出;
  • 解决了 BIO_f_linebuffer 和 PKCS#12 相关代码路径中存在的堆越界写入问题;
  • 消除了 SSL_CIPHER_find()、PKCS12_item_decrypt_d2i_ex 等函数在处理异常输入时可能触发的空指针解引用风险。

现代 TLS 部署环境修补

  • 此前,系统在处理 TLS 1.3 的CompressedCertificate消息时,会根据攻击者提供的未压缩证书长度预先分配内存,却未受max_cert_list限制,可能导致单连接消耗高达 22 MB 内存,引发资源耗尽型拒绝服务。该问题现已修复。
  • 此外,低级 OCB 加密函数在硬件加速路径下,对非 16 字节对齐的数据可能遗漏尾部字节的加密与认证,造成信息泄露或篡改风险,此隐患也已被彻底清除。

底层数据结构解析层面

  • 修复了时间戳响应(TS_RESP)验证、PKCS#12 解析及 PKCS7 摘要处理中缺失的 ASN.1_TYPE 类型检查,避免因类型混淆导致无效或空指针解引用,从而引发程序崩溃。

功能回退

  1. 恢复了X509_V_FLAG_CRL_CHECK_ALL标志的原有行为逻辑;
  2. 解决了 OpenSSL 3.6.0 服务器在特定场景下因 OCSP 装订(Stapling)处理异常而导致的握手失败问题。

此次更新广泛涉及 TLS 服务、证书验证、CMS/PKCS#7 数据处理及 PKCS#12 文件解析等核心基础功能。OpenSSL 项目组强烈建议:所有正在使用 OpenSSL 3.6.x 系列的用户和 Linux 发行版维护者,务必要尽快升级到 3.6.1,以消除潜在的安全风险。


OpenSSL 3.6 主要更新

新增 NIST 安全类别

  • 新版本的一大重点改进,是为 PKEY 对象新增了 NIST 安全类别支持。开发者可以更直观地映射和评估加密强度。
  • 同时,还加入了对EVP_SKEY不透明对称密钥对象的支持,并提供了一系列配套的新函数,包括EVP_KDF_CTX_set_SKEY()EVP_KDF_derive_SKEY()EVP_PKEY_derive_SKEY()

安全合规方面

  • LMS(Leighton-Micali Signature)签名验证功能现已集成到默认和 FIPS Provider 中。
  • 另外,OpenSSL 3.6 还遵循 FIPS 186-5 标准,新增了对确定性 ECDSA 签名生成的支持,进一步增强了加密操作的可靠性与合规性。

工具链方面

  • 本次更新带来了一个全新的openssl configutl命令行工具。它可以解析 OpenSSL 配置文件,并输出等效的配置信息,极大方便了系统管理员对系统设置的验证与审查。

重要变更

需要特别注意的是,新版本也带来了一些可能会影响现有环境的变更:

  • 要编译 OpenSSL 不再仅满足于 ANSI-C 工具链,而是要求使用兼容 C-99 标准的编译器。
  • 开发团队移除了对 VxWorks 平台的支持,会将更多精力集中在主流和活跃的目标平台上。
  • 最后,与EVP_PKEY_ASN1_METHOD相关的多个函数已被标记为「deprecated」,官方建议开发者尽快迁移到新版 API,以确保未来的兼容性。
赞(0)
分享到

评论 抢沙发