CVE-2025-11961CVE-2025-11961是libpcap库中pcap_ether_aton()函数存在的一个缓冲区溢出漏洞。该函数是一个辅助函数,用于将字符串格式的MAC-48地址转换为二进制格式。漏洞的根本原因在于该函数对输入参数的格式验证不充分,当应用程序传入格式不符合预期的字符串时,函数会读取超出输入字符串边界的数据,并将数据写入超出分配缓冲区边界的内存区域。此漏洞需要攻击者具有本地访问权限且拥有较高权限才能利用。由于CVSS评分仅为1.9,属于低危漏洞,但仍然可能导致数据损坏或程序崩溃。libpcap作为广泛使用的网络数据包捕获库,被tcpdump、wireshark等众多安全工具依赖,因此该漏洞可能影响大量使用该库的应用。
pcap_ether_aton()函数在libpcap库中负责解析MAC-48地址字符串。该函数接受一个字符串参数并返回一个固定大小的已分配缓冲区。根据设计,传入的字符串必须是格式正确的MAC-48地址(如AA:BB:CC:DD:EE:FF或AA-BB-CC-DD-EE-FF等支持的格式)。然而,这一要求在文档中记录不足,导致开发者可能传入格式错误的字符串。当函数遇到格式不正确的输入时,它会继续读取超出输入字符串末尾的数据(越界读取),同时在写入结果到分配好的缓冲区时也可能超出缓冲区边界(越界写入)。这种行为可能导致堆内存损坏,引发程序崩溃或在特定条件下可能被利用进行更严重的攻击。攻击者需要本地访问目标系统并拥有较高权限才能触发此漏洞。