cURL是命令行传输文件工具,支持FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILE和LDAP。 在下载数据时,libcurl库使用客户端软件所注册的回调函数将数据传送给应用程序,在完成传输之前会反复的调用该函数。回调函数可接收的最大数据大小为16K(CURL_MAX_WRITE_SIZE)。 在HTTP上使用libcurl库下载压缩的内容时应用程序可以要求libcurl自动解压数据。而解压期间libcurl可能错误的向回调函数发送最多可为64K的数据,因此盲目信任libcurl的最大缓冲区限制的应用可能会出现缓冲区溢出。 仅在编译了zlib且明确启用了自动解压(默认为禁用)的libcurl才会出现这个漏洞。
cURL是命令行传输文件工具,支持FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILE和LDAP。 在下载数据时,libcurl库使用客户端软件所注册的回调函数将数据传送给应用程序,在完成传输之前会反复的调用该函数。回调函数可接收的最大数据大小为16K(CURL_MAX_WRITE_SIZE)。 在HTTP上使用libcurl库下载压缩的内容时应用程序可以要求libcurl自动解压数据。而解压期间libcurl可能错误的向回调函数发送最多可为64K的数据,因此盲目信任libcurl的最大缓冲区限制的应用可能会出现缓冲区溢出。 仅在编译了zlib且明确启用了自动解压(默认为禁用)的libcurl才会出现这个漏洞。