SquirrelMail G/PGP加密插件多个远程命令执行漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1189834 漏洞类型 路径遍历
发布时间 2007-07-15 更新时间 2007-07-18
CVE编号 CVE-2006-4169 CNNVD-ID CNNVD-200707-246
漏洞平台 N/A CVSS评分 5.5
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200707-246
|漏洞详情
"SquirrelMail是一个多功能的用PHP4实现的Webmail程序,可运行于Linux/Unix类操作系统下。SquirrelMail的实现上存在多个输入验证漏洞,远程攻击者可能利用这些漏洞在服务器上执行任意命令。SquirrelMail中的G/PGP加密插件没有正确地过滤所包含的某些文件,gpg_help.php和gpg_help_base.php文件中可能包含有通过"help"HTTPGET请求参数所提供的本地文件,代码如下:68//HelpbodytextisinsertedhereviaGETparameter69require_once(SM_PATH.'plugins/gpg/help/'.$_GET['help']);如果使用了目录遍历标识符,攻击者就可以导致将储存在Web服务器中的文件解析为PHP代码。由于使用未经过滤的用户数据调用了exec(),导致G/PGP加密插件中gpg_key_functions.php所定义的gpg_recv_key()函数中存在命令注入漏洞,代码如下:$command="$path_to_gpg--batch--no-tty--homedir$gpg_key_dir\--keyserverhkp://$keyserver--recv-key$searchkeyid2>&1";[...]exec($command,$output,$returnval);上面的$keyserver变量是通过对gpg_options.php脚本的POST数据提供的。攻击者必须拥有有效的认证会话才能利用这个漏洞。由于使用未经过滤的用户数据调用了exec(),导致G/PGP加密插件中gpg_hook_functions.php所定义的gpg_check_sign_pgp_mime()函数中存在命令注入漏洞,代码如下:$command="echo-n\"$messageSignedText\"|$path_to_gpg--batch\--no-tty--homedir$gpg_key_dir--verify".\$detachedSignatureFilename."-2>&1";if($debug)echo"gpgcommand:".$command."\";exec($command,$results,$returnval);$mess
|参考资料

来源:VUPEN
名称:ADV-2007-2513
链接:http://www.frsirt.com/english/advisories/2007/2513
来源:BID
名称:24874
链接:http://www.securityfocus.com/bid/24874
来源:SECUNIA
名称:26035
链接:http://secunia.com/advisories/26035
来源:IDEFENSE
名称:20070711SquirrelMailG/PGPPlugingpg_help.phpLocalFileInclusionVulnerability
链接:http://labs.idefense.com/intelligence/vulnerabilities/display.php?id=555
来源:XF
名称:squirrelmail-gpgp-help-file-include(35362)
链接:http://xforce.iss.net/xforce/xfdb/35362
来源:GENTOO
名称:GLSA-200708-08
链接:http://security.gentoo.org/glsa/glsa-200708-08.xml
来源:SECUNIA
名称:26424
链接:http://secunia.com/advisories/26424