多个UNIX/LINUX厂商cURL/libcURL Kerberos验证缓冲区溢出漏洞
发布日期:2005-02-22
更新日期:2005-02-25
受影响系统:cURL cURL 7.12.1
描述:
BUGTRAQ ID:
12616
CVE(CAN) ID:
CVE-2005-0490
cURL是命令行传输文件工具,支持FTP、FTPS、HTTP、HTTPS、GOPHER、TELNET、DICT、FILE和LDAP。
cURL在处理Kerberos验证时存在一个基于栈的缓冲区溢出,远程攻击者可以利用这个漏洞以进程权限在系统上执行任意指令。
当使用Kerberos验证时存在此漏洞,问题存在于lib/krb4.c的Curl_krb_kauth()和 krb4_auth()函数中,这些函数从结构KTEXT_ST.dat静态分配到小为1250的缓冲区,传递给lib/base64.c文件中Curl_base64_decode()函数:
len = Curl_base64_decode(p, (char *)adat.dat);
tmp = Curl_base64_decode(p, (char *)tkt.dat);
Curl_base64_decode()函数依靠调用函数来验证解码长度,这个函数是BASE64解码并从服务器的应答数据中拷贝到这个目的缓冲区buffer[],因此如果攻击者构建一个超长的BASE64编码数据可导致发生缓冲区溢出,覆盖EIP,精心构建提交数据可能以进程权限执行任意指令。
<*来源:iDEFENSE Security Advisory (
labs@idefense.com)
infamous41md (
infamous41md@hotpop.com)
链接:www.idefense.com/application/poi/display?id=203
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 重新编译程序,不对Kerberos验证进行支持。
厂商补丁:
cURL
----
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://curl.haxx.se/浏览次数:3052
严重程度:0(网友投票)