漏洞概述 GnuTLS Transport Layer Security Library 存在多个安全漏洞,涉及证书验证、内存管理、协议实现等多个方面。这些漏洞可能导致严重的安全问题,如权限提升、数据泄露和服务拒绝等。 影响范围 证书验证问题:多个漏洞涉及证书验证过程中的问题,如证书链验证、证书撤销检查等。 内存管理问题:部分漏洞涉及内存溢出、缓冲区溢出等问题,可能导致程序崩溃或执行恶意代码。 协议实现问题:TLS/DTLS协议实现中的漏洞可能导致中间人攻击、会话劫持等安全问题。 修复方案 升级版本:大多数漏洞的修复方案是升级到GnuTLS的最新版本(如3.8.13或更高版本)。 应用补丁:对于某些特定版本,需要应用特定的补丁。 配置调整:部分漏洞需要通过调整配置来缓解,如禁用某些功能或设置特定的参数。 具体漏洞信息 CVE-2026-42014 描述:改变Security Officer PIN时,如果 的 参数为NULL,可能导致使用后的释放问题。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-42013 描述:验证带有扩展证书替代名称的证书时,如果证书替代名称与DNS主机名不匹配,可能导致证书误用。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-42012 描述:验证包含URI或SRV证书替代名称的证书时,如果证书替代名称与Common Name不匹配,可能导致证书误用。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-42011 描述:当先前CA已排除名称约束时,允许的名称约束被错误地忽略,导致名称约束绕过。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-3833 描述:域名比较在处理包含NULL字符的约束时可能出错,导致接受本应被拒绝的域名。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-42010 描述:配置为使用RSA-PSK的服务器错误地接受带有NULL字符的用户名,导致身份验证绕过。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-33845 描述:DTLS重组代码中的远程可触发下溢可能导致堆溢出。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-42009 描述:用于对DTLS数据包进行排序的比较函数在序列号重复时可能产生未定义行为。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-5419 描述:PKCS#1填充检查在解密时不是恒定时间,可能导致通过计时差异泄露填充字节。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-3832 描述:验证多条目OCSP响应中的证书时,撤销状态始终检查第一个条目,而不是匹配的证书。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-42015 描述:PKCS#12包中仅包含32个元素时,可能写入超出其内部数组边界的内存。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-5260 描述:使用RSA密钥备份的PKCS#11令牌时,客户端发送的额外短预主密钥可能导致RSA密钥的堆溢出。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2026-33846 描述:GnuTLS未检查DTLS片段是否一致的消息长度,可能导致堆溢出。 修复方案:升级到GnuTLS 3.8.13或更高版本。 CVE-2025-14831 描述:验证带有病理学数量名称约束的证书可能导致服务拒绝和资源耗尽。 修复方案:升级到GnuTLS 3.8.12或更高版本。 CVE-2026-1584 描述:TLS 1.3重新协商尝试使用无效的PSK绑定值可能导致服务拒绝攻击。 修复方案:升级到GnuTLS 3.8.12或更高版本。 CVE-2025-9820 描述:初始化PKCS#11令牌时,如果传递的令牌标签超过32个字符,可能写入超出堆栈分配内存的边界。 修复方案:升级到GnuTLS 3.8.1或更高版本。 CVE-2025-6395 描述:TLS 1.3握手涉及Hello Retry Request和第二个Client Hello时,GnuTLS可能解引用NULL指针。 修复方案:升级到GnuTLS 3.8.10或更高版本。 CVE-2025-32990 描述:调用certtool程序时,如果模板文件包含多个字符串对,可能导致NULL指针越界。 修复方案:升级到GnuTLS 3.8.10或更高版本。 CVE-2025-32988 描述:使用其他名称导出证书时,库可能双重释放ASN.1结构。 修复方案:升级到GnuTLS 3.8.10或更高版本。 CVE-2025-32989 描述:当X.509证书包含SCT扩展时,库可能超出内存缓冲区边界。 修复方案:升级到GnuTLS 3.8.10或更高版本。 CVE-2024-12243 描述:当证书包含名称约束扩展时,GnuTLS应用可能花费过多时间验证Subject Alternative Names。 修复方案:升级到GnuTLS 3.8.9或更高版本。 CVE-2024-28835 描述:验证包含超过16个证书的证书链时,GnuTLS应用可能因断言失败而崩溃。 修复方案:升级到GnuTLS 3.8.4或更高版本。 CVE-2024-0553 描述:CVE-2023-5981的补丁不完整,导致使用正确PKCS#1 v1.5填充的客户端/服务器交换时,GnuTLS应用可能崩溃。 修复方案:升级到GnuTLS 3.8.3或更高版本。 CVE-2024-0567 描述:验证包含交叉签名证书链时,GnuTLS应用可能因断言失败而崩溃。 修复方案:升级到GnuTLS 3.8.3或更高版本。 CVE-2024-28834 描述:确定性ECDSA代码中,私钥恢复需要观察数百到数千个签名,可能导致确定性ECDSA中的时序侧信道。 修复方案:升级到GnuTLS 3.8.4或更高版本。 CVE-2023-5981 描述:畸形密文的响应时间差异可能导致RSA-PSK ClientKeyExchange中的时序侧信道。 修复方案:升级到GnuTLS 3.8.2或更高版本。 CVE-2022-2509 描述:当 无法验证签名时,可能创建从已知签名者开始的证书链。 修复方案:升级到GnuTLS 3.7.7或更高版本。 CVE-2022-0127 描述:当单个信任列表对象在多个线程间共享时,可能导致内存竞争条件。 修复方案:升级到GnuTLS 3.7.3或更高版本。 CVE-2021-20231, CVE-2021-20232 描述:客户端发送“key_share”或“pre_share_key”扩展时,可能导致指针解引用。 修复方案:升级到GnuTLS 3.7.1或更高版本。 CVE-2020-24659 描述:oss-fuzz发现服务器发送“no_renegotiation”警报时,可能导致空指针解引用。 修复方案:升级到GnuTLS 3.6.15或更高版本。 CVE-2023-0361 描述:畸形密文的响应时间差异可能导致RSA解密中的时序侧信道。 修复方案:升级到GnuTLS 3.8.0或更高版本。 CVE-2020-13777 描述:TLS 1.3中TLS会话票证密钥构造存在缺陷,可能导致中间人攻击。 修复方案:升级到GnuTLS 3.6.14或更高版本。 CVE-2020-11501 描述:DTLS协议实现中,DTLS客户端不贡献随机数,可能导致DTLS协商安全保证被破坏。 修复方案:升级到GnuTLS 3.6.13或更高版本。 CVE-2019-3836, CVE-2019-3829 描述:解码畸形TLS 3异步消息可能导致服务器崩溃或内存损坏。 修复方案:升级到GnuTLS 3.6.7或更高版本。 CVE-2017-7507 描述:解码状态响应TLS扩展时,可能导致空指针解引用。 修复方案:升级到GnuTLS 3.5.13或更高版本。 CVE-2017-5335, CVE-2017-5336, CVE-2017-5337 描述:解码特制OpenPGP证书可能导致内存损坏。 修复方案:升级到GnuTLS 3.3.26或更高版本。 CVE-2017-5334 描述:解码特制X.509证书可能导致双重释放。 修复方案:升级到GnuTLS 3.3.26或更高版本。 CVE-2015-3308 描述:解码特制证书可能导致双重释放。 修复方案:升级到GnuTLS 3.3.14或更高版本。 CVE-2014-0092 描述:证书验证功能存在缺陷,特制证书可能绕过验证检查。 修复方案:升级到GnuTLS 2.12.x或更高版本。 CVE-2009-2730 描述:证书主机名验证中存在假阳性问题。 修复方案:升级到GnuTLS 2.8.3或更高版本。 CVE-2008-2377 描述:客户端侧服务拒绝问题。 修复方案:升级到GnuTLS 2.4.1或更高版本。 CERT-FI公告, CVE-2008-1948, CVE-2008-1949, CVE-2008-1950 描述:内存损坏问题。 修复方案:升级到GnuTLS 2.2.5或更高版本。 CVE-2006-0645 描述:内存损坏问题。 修复方案:升级到Libstain 0.2.18或GnuTLS 1.2.10(稳定版)或1.3.4(实验版)。 总结 GnuTLS Transport Layer Security Library 存在多个安全漏洞,涉及证书验证、内存管理、协议实现等多个方面。建议用户尽快升级到最新版本或应用相应补丁以修复这些漏洞。