CVE-2025-11964CVE-2025-11964是libpcap库在Windows平台上的一个缓冲区溢出漏洞。该漏洞存在于UTF-16LE到UTF-8的字符编码转换过程中,当libpcap需要将Windows错误消息转换为UTF-8编码时,如果错误消息中包含需要4个字节表示的UTF-8字符(如某些生僻汉字或特殊符号),utf_16le_to_utf_8_truncated()函数会写入超过目标缓冲区末尾的数据。此漏洞仅影响Windows平台,Linux和macOS系统不受影响。由于CVSS评分仅为1.9,且需要本地高权限才能利用,因此被评定为低危漏洞。攻击者需要具有本地访问权限且拥有高权限(如管理员权限),在特殊情况下可利用此漏洞造成数据损坏或程序崩溃,但不太可能导致远程代码执行。
漏洞根源在于libpcap库中的utf_16le_to_utf_8_truncated()函数存在边界检查不严的问题。该函数负责将UTF-16LE编码的字符串转换为UTF-8编码,在Windows平台上用于处理系统错误消息。当输入的UTF-16LE字符串包含需要4字节UTF-8序列表示的字符(如某些Unicode扩展区的字符)时,函数在计算所需缓冲区大小时可能存在偏差,导致实际写入的字节数超过预分配缓冲区的大小。攻击者需要构造包含特殊Unicode字符的Windows错误消息,然后触发libpcap的编码转换路径。成功利用可导致堆缓冲区溢出,可能造成程序崩溃或数据损坏。由于攻击向量为本地(AV:L)且需要高权限认证(PR:H),实际利用难度较高。