BUGTRAQ ID: 38162
cURL是命令行传输文件工具,支持FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILE和LDAP。
在下载数据时,libcurl库使用客户端软件所注册的回调函数将数据传送给应用程序,在完成传输之前会反复的调用该函数。回调函数可接收的最大数据大小为16K(CURL_MAX_WRITE_SIZE)。
在HTTP上使用libcurl库下载压缩的内容时应用程序可以要求libcurl自动解压数据。而解压期间libcurl可能错误的向回调函数发送最多可为64K的数据,因此盲目信任libcurl的最大缓冲区限制的应用可能会出现缓冲区溢出。
仅在编译了zlib且明确启用了自动解压(默认为禁用)的libcurl才会出现这个漏洞。
Daniel Stenberg curl 7.10.5 - 7.19.7
厂商补丁:
Daniel Stenberg
---------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://curl.haxx.se/libcurl-contentencoding.patch
暂无评论