CVE-2025-68160CVE-2025-68160是OpenSSL中BIO_f_linebuffer(行缓冲BIO过滤器)存在的堆缓冲区溢出漏洞。该漏洞源于行缓冲BIO过滤器在处理大型无换行符数据时,当下一个BIO执行短写入操作时,可能触发堆越界写入。攻击者可通过构造特定的数据流,使目标应用程序在写入数据时超出预期缓冲区边界,导致内存损坏。由于该漏洞位于堆内存区域,成功的利用可造成程序崩溃,从而导致拒绝服务(DoS)攻击。需要注意的是,BIO_f_linebuffer在TLS/SSL数据路径中默认不使用,在OpenSSL命令行应用程序中通常仅在VMS系统上推送到stdout/stderr。第三方应用程序需要明确使用此过滤器且配合能执行短写入的BIO链,同时写入大型无换行符数据才会受到影响。
漏洞根源在于BIO_f_linebuffer过滤器的实现逻辑。当应用程序使用BIO_push将行缓冲过滤器添加到BIO链时,如果后续BIO执行短写入操作(short writes),且写入的数据不包含换行符,则可能触发堆越界写入。具体来说,行缓冲过滤器维护内部缓冲区来存储数据,当缓冲区满时需要刷新到下一个BIO。如果下一个BIO只接受部分数据(短写入),过滤器未能正确处理这种情况,导致继续写入超出缓冲区边界的位置。此漏洞的利用条件较为苛刻,需要满足以下条件:1) 应用程序显式使用BIO_f_linebuffer;2) 后续BIO链执行短写入;3) 写入的数据量大且不含换行符;4) 数据内容可被攻击者影响。CVSS评分4.7(中等)反映了该漏洞的本地攻击特性和较难利用的性质。FIPS模块不受此漏洞影响,因为其BIO实现位于OpenSSL FIPS模块边界之外。