« | October 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |
|
统计 |
blog名称: 日志总数:9 评论数量:1 留言数量:1 访问次数:39218 建立时间:2005年11月27日 |
| 
|
本站首页 管理页面 写新日志 退出
http://curl.haxx.se/download/curl-7.15.1.tar.gz |
受影响系统:
Daniel Stenberg curl <= 7.15.0
不受影响系统:
Daniel Stenberg curl 7.15.1
描述:
cURL是命令行传输文件工具,支持FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILE和LDAP。
libcurl在解析URL时存在溢出漏洞,攻击者可以利用这个漏洞绕过PHP的safe_mode/open_basedir限制,或从apache内存窃取本地SSL证书。
libcurl在解析URL时首先会为主机名和路径部分分配特定的缓冲区。如果URL较短的话,会为每个缓冲区至少分配256个字节;如果输入URL超过了256字节限制的话,libcurl就会分配2个缓冲区,大小为输入URL的长度。然后一些sscanf调用会解析URL。畸形的URL会导致sscanf将完整的输入URL拷贝到主机或路径缓冲区。由于最初的分配没有为0字节分配额外的空间,这可能导致大小差一(off-by-one)的情况。
尽管这种溢出已经可以控制某些malloc()/free()的实现,攻击者还可以通过有“?”的主机名导致两个字节的溢出。如果libcurl发现主机名中存在“?”的话,就会认定为畸形URL,并未经任何大小检查便在其前面添加路径分隔符“/”。cURL/libcURL URL解析器 存在缓冲区溢出攻击漏洞
|
阅读全文(2640) | 回复(0) | 编辑 | 精华 |
|