1. 伪随机数生成器(PRNG)漏洞(2006年)
2006年,Debian维护者为解决Valgrind和Purify工具的警告,注释掉了OpenSSL PRNG中抓取系统不可预测熵的两行关键代码,导致PRNG种子值仅能从32767个有限选项中选取,严重削弱了随机数生成器的熵值。这一问题使依赖OpenSSL PRNG的程序(如SSH密钥生成、SSL证书签发)面临可预测风险,攻击者可能通过猜测随机数破解加密密钥。
2. 心脏出血漏洞(Heartbleed,CVE-2014-0160)
2014年曝光的严重漏洞,影响OpenSSL 1.0.1至1.0.1f及1.0.2至1.0.2beta版本。漏洞源于TLS/DTLS心跳扩展功能未正确验证输入长度,攻击者可发送恶意心跳请求,未经授权读取服务器内存中的敏感信息(如SSL私钥、用户会话Cookie、密码等)。该漏洞导致全球大量使用OpenSSL的服务器数据泄露,是Debian系统史上最知名的安全事件之一。
3. 可预测的随机数生成器漏洞(DSA-1571-1)
2019年Debian安全公告(DSA-1571-1)指出,OpenSSL的PRNG存在可预测性缺陷。尽管2006年的PRNG漏洞已修复,但后续分析发现其熵收集机制仍存在不足,可能导致生成的随机数可被预测。官方建议OpenSSL 0.9.8c-1之后版本的用户重新计算加密密钥(如SSH密钥、SSL证书),以防止攻击者通过预测随机数破解加密数据。
4. 缓冲区读取过量与内存越界访问漏洞(2024年Debian 12.8修复)
2024年Debian 12.8的稳定性更新中,OpenSSL修复了多项缓冲区安全问题,包括缓冲区读取过量(攻击者通过构造超长输入导致程序读取越界内存)和内存越界访问(程序访问未分配或已释放的内存区域)。这些问题可能导致应用程序崩溃(DoS攻击)或敏感内存信息泄露,威胁系统稳定性与数据安全。
5. OpenSSL缓冲区错误漏洞(CVE-2021-3712)
2021年披露的高危漏洞,影响OpenSSL 1.0.2y之前版本。漏洞源于OpenSSL假设ASN.1字符串以NULL字符终止,但未严格验证这一假设。攻击者可构造非NULL终止的ASN.1字符串(如证书、密钥文件),触发应用程序内存崩溃或远程代码执行。Debian用户需升级至OpenSSL 1.1.1l(1.1.1系列)或1.0.2za(1.0.2系列)以修复该问题。
6. 其他历史漏洞(如POODLE、BEAST、FREAK)
Debian系统中的OpenSSL也曾受其他常见漏洞影响: