CVE-2026-44348PoDoFo是一个C++17 PDF操作库。在1.0.0至1.0.4之前的版本中,src/podofo/private/OpenSSLInternal_Ripped.cpp文件的compute_hash_to_sign()函数存在双重释放漏洞。当EVP_DigestFinal在buf已被释放后失败时,Error标签会再次释放buf,导致堆损坏。该漏洞在1.0.4版本中已修复。
该漏洞位于PoDoFo库的OpenSSLInternal_Ripped.cpp源文件中。在compute_hash_to_sign函数执行过程中,如果EVP_DigestFinal函数调用失败,代码逻辑会跳转到Error标签进行错误处理。由于代码逻辑缺陷,在跳转到Error标签之前,缓冲区buf可能已经被释放。Error标签处的代码会再次对buf执行free操作,从而引发双重释放。双重释放会导致堆结构破坏,攻击者可能利用这种堆损坏在特定条件下执行任意代码或导致应用程序崩溃。根据CVSS 3.1评分,该漏洞评分为2.5分,属于低危风险,攻击向量为本地,需要用户交互。