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

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

BUGTRAQ ID: 24874,24782 CVE(CAN) ID: CVE-2005-1924,CVE-2006-4169 SquirrelMail是一个多功能的用PHP4实现的Webmail程序,可运行于Linux/Unix类操作系统下。 SquirrelMail的实现上存在多个输入验证漏洞,远程攻击者可能利用这些漏洞在服务器上执行任意命令。 SquirrelMail中的G/PGP加密插件没有正确地过滤所包含的某些文件,gpg_help.php和gpg_help_base.php文件中可能包含有通过“help” HTTP GET请求参数所提供的本地文件,代码如下: 68 // Help body text is inserted here via GET parameter 69 require_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 \ --keyserver hkp://$keyserver --recv-key $searchkeyid 2>&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 \...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息