Cpanel是一款WEB主机控制程序,允许客户通过WEB接口管理WEB帐户。 Cpanel包含的openwebmail工具对环境变量处理不正确,本地攻击者可以利用这个漏洞进行权限提升攻击,以高权限在系统上执行任意命令。 openwebmail是用于WEB邮件读取,以suid root属性安装,Openwebmail会通过SCRIPT_FILENAME还击功能变量设置要包含的脚本文件,如: /usr/local/cpanel/base/openwebmail/oom 14行: if ( $ENV{\'\'SCRIPT_FILENAME\'\'} =~ m!^(.*?)/[\w\d\-]+\.pl! || $0 =~ m!^(.*?)/[\w\d\-]+\.pl! ) { $SCRIPT_DIR=$1; } if (!$SCRIPT_DIR) { print \"Content-type: text/html\n\n\$SCRIPT_DIR not set in CGI script!\n\"; exit 0; } push (@INC, $SCRIPT_DIR, \".\"); . . . require \"openwebmail-shared.pl\"; 攻击者可以建立包含恶意代码的openwebmail-shared.pl脚本,并设置SCRIPT_FILENAME指定openwebmail-shared.pl的全路径,然后执行oom脚本(如suidperl -T /usr/local/cpanel/base/openwebmail/oom),就可以以高权限在系统上执行任意命令。
Cpanel是一款WEB主机控制程序,允许客户通过WEB接口管理WEB帐户。 Cpanel包含的openwebmail工具对环境变量处理不正确,本地攻击者可以利用这个漏洞进行权限提升攻击,以高权限在系统上执行任意命令。 openwebmail是用于WEB邮件读取,以suid root属性安装,Openwebmail会通过SCRIPT_FILENAME还击功能变量设置要包含的脚本文件,如: /usr/local/cpanel/base/openwebmail/oom 14行: if ( $ENV{\'\'SCRIPT_FILENAME\'\'} =~ m!^(.*?)/[\w\d\-]+\.pl! || $0 =~ m!^(.*?)/[\w\d\-]+\.pl! ) { $SCRIPT_DIR=$1; } if (!$SCRIPT_DIR) { print \"Content-type: text/html\n\n\$SCRIPT_DIR not set in CGI script!\n\"; exit 0; } push (@INC, $SCRIPT_DIR, \".\"); . . . require \"openwebmail-shared.pl\"; 攻击者可以建立包含恶意代码的openwebmail-shared.pl脚本,并设置SCRIPT_FILENAME指定openwebmail-shared.pl的全路径,然后执行oom脚本(如suidperl -T /usr/local/cpanel/base/openwebmail/oom),就可以以高权限在系统上执行任意命令。