PEAR(全称PHP Extension and Application Repository)是PHP Group负责维护的一个PHP扩展及应用的代码仓库。 PEAR的安装属性实现上存在漏洞,本地攻击者可能利用此漏洞覆盖系统文件。 PEAR安装程序没有对package.xml的install-as属性或<install>标签执行验证,允许攻击者向任意位置安装文件,如果PEAR安装程序以特权用户权限运行的话,就可能覆盖关键的系统文件。 用户必须使用PEAR安装程序安装恶意软件包才会受漏洞影响。如果文件包含有类似于以下的install-as属性: <filelist> <dir name=\"/\"> <file name=\"INSTALL\" role=\"php\" install-as=\"../../test.php\" /> </dir> <!-- / --> </filelist> 或类似于以下的<file>/<install>标签: <contents> <dir name=\"/\"> <file name=\"INSTALL\" role=\"php\" /> </dir> <!-- / --> </contents> ... <phprelease> <filelist> <install as=\"../../test.php\" name=\"INSTALL\" /> </filelist> </phprelease> 则PEAR安装程序就会将INSTALL文件安装到php_dir配置文件所指定最低目录两层之上。例如,如果php_dir为/usr/local/lib/php,install-as属性为 ../../../../etc/passwd,则PEAR安装程序就会覆盖/etc/passwd文件。
PEAR(全称PHP Extension and Application Repository)是PHP Group负责维护的一个PHP扩展及应用的代码仓库。 PEAR的安装属性实现上存在漏洞,本地攻击者可能利用此漏洞覆盖系统文件。 PEAR安装程序没有对package.xml的install-as属性或<install>标签执行验证,允许攻击者向任意位置安装文件,如果PEAR安装程序以特权用户权限运行的话,就可能覆盖关键的系统文件。 用户必须使用PEAR安装程序安装恶意软件包才会受漏洞影响。如果文件包含有类似于以下的install-as属性: <filelist> <dir name=\"/\"> <file name=\"INSTALL\" role=\"php\" install-as=\"../../test.php\" /> </dir> <!-- / --> </filelist> 或类似于以下的<file>/<install>标签: <contents> <dir name=\"/\"> <file name=\"INSTALL\" role=\"php\" /> </dir> <!-- / --> </contents> ... <phprelease> <filelist> <install as=\"../../test.php\" name=\"INSTALL\" /> </filelist> </phprelease> 则PEAR安装程序就会将INSTALL文件安装到php_dir配置文件所指定最低目录两层之上。例如,如果php_dir为/usr/local/lib/php,install-as属性为 ../../../../etc/passwd,则PEAR安装程序就会覆盖/etc/passwd文件。