CVE-2016-15059 in Net::IDN::Punycode
摘要
由 VulDB • 2026-09-22
Net::IDN::Punycode 2.301 之前的版本允许通过 encode_punycode 中输出缓冲区之外的未检查写入导致堆溢出。
XS 后端在标量返回的字符串缓冲区中构建编码后的标签,该缓冲区的大小基于输入长度确定。用于发出每个代码点数字的循环在每个写入之前都会检查是否有空间,但每轮最后一个数字的写入以及终止 NUL 字符的写入并未进行检查,因此当输入的编码形式填满缓冲区时,会导致越界写入。
仅 XS 后端受影响。
对攻击者提供的字符串进行编码会破坏堆内存。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.