RedHat 6.0和6.1系统中缺省安装的userhelper和PAM允许使用包含".."的路径名,并且 userhelper被设置了suid root位.因此本地用户可能获得root权限. userhleper允许你通过"-w"参数指定一个要运行的程序,这些程序需要在 /etc/security/console.apps目录里有一个对应文件.因此,通过指定类似"../../../ tmp/myprog"的程序名,攻击者可以利用userhelper去执行 "/etc/security/console.apps/../../../tmp/myprog",也就是执行"/tmp/myprog". 如果"/tmp/myprog"已经存在,PAM将会试图执行它,PAM首先检查是否/etc/pam.d中有"../../ tmp/myprog"相应的配置文件,如果有,PAM将以root身份去打开相应的共享库.但不幸的是PAM 也允许使用包含".."的路径名,因此攻击者可以提供一个伪造的PAM配置文件,里面包含一个 任意的共享库名(这个共享库是由攻击者创建的),当PAM试图用dlopen()来打开这个共享库时, 攻击者就可以获取root权限. RedHat Linux 6.1 RedHat Linux 6.0 RedHat 已经提供了相应的补丁: Intel: <a href=ftp://updates.redhat.com/6.1/i386/pam-0.68-10.i386.rpm target=_blank>ftp://updates.redhat.com/6.1/i386/pam-0.68-10.i386.rpm</a> <a href=ftp://updates.redhat.com/6.1/i386/usermode-1.17-1.i386.rpm target=_blank>ftp://updates.redhat.com/6.1/i386/usermode-1.17-1.i386.rpm</a> Alpha: <a...
RedHat 6.0和6.1系统中缺省安装的userhelper和PAM允许使用包含".."的路径名,并且 userhelper被设置了suid root位.因此本地用户可能获得root权限. userhleper允许你通过"-w"参数指定一个要运行的程序,这些程序需要在 /etc/security/console.apps目录里有一个对应文件.因此,通过指定类似"../../../ tmp/myprog"的程序名,攻击者可以利用userhelper去执行 "/etc/security/console.apps/../../../tmp/myprog",也就是执行"/tmp/myprog". 如果"/tmp/myprog"已经存在,PAM将会试图执行它,PAM首先检查是否/etc/pam.d中有"../../ tmp/myprog"相应的配置文件,如果有,PAM将以root身份去打开相应的共享库.但不幸的是PAM 也允许使用包含".."的路径名,因此攻击者可以提供一个伪造的PAM配置文件,里面包含一个 任意的共享库名(这个共享库是由攻击者创建的),当PAM试图用dlopen()来打开这个共享库时, 攻击者就可以获取root权限. RedHat Linux 6.1 RedHat Linux 6.0 RedHat 已经提供了相应的补丁: Intel: <a href=ftp://updates.redhat.com/6.1/i386/pam-0.68-10.i386.rpm target=_blank>ftp://updates.redhat.com/6.1/i386/pam-0.68-10.i386.rpm</a> <a href=ftp://updates.redhat.com/6.1/i386/usermode-1.17-1.i386.rpm target=_blank>ftp://updates.redhat.com/6.1/i386/usermode-1.17-1.i386.rpm</a> Alpha: <a href=ftp://updates.redhat.com/6.1/alpha/pam-0.68-10.alpha.rpm target=_blank>ftp://updates.redhat.com/6.1/alpha/pam-0.68-10.alpha.rpm</a> <a href=ftp://updates.redhat.com/6.1/alpha/usermode-1.17-1.alpha.rpm target=_blank>ftp://updates.redhat.com/6.1/alpha/usermode-1.17-1.alpha.rpm</a> Sparc: <a href=ftp://updates.redhat.com/6.1/sparc/pam-0.68-10.sparc.rpm target=_blank>ftp://updates.redhat.com/6.1/sparc/pam-0.68-10.sparc.rpm</a> <a href=ftp://updates.redhat.com/6.1/sparc/usermode-1.17-1.sparc.rpm target=_blank>ftp://updates.redhat.com/6.1/sparc/usermode-1.17-1.sparc.rpm</a> Source packages: <a href=ftp://updates.redhat.com/6.1/SRPMS/pam-0.68-10.src.rpm target=_blank>ftp://updates.redhat.com/6.1/SRPMS/pam-0.68-10.src.rpm</a> <a href=ftp://updates.redhat.com/6.1/SRPMS/usermode-1.17-1.src.rpm target=_blank>ftp://updates.redhat.com/6.1/SRPMS/usermode-1.17-1.src.rpm</a> MD5 sum Package Name bffd4388103fa99265e267eab7ae18c8 i386/pam-0.68-10.i386.rpm 2d69859d2b1d2180d254fc263bdccf94 i386/usermode-1.17-1.i386.rpm fed2c2ad4f95829e14727a9dfceaca07 alpha/pam-0.68-10.alpha.rpm 83c69cb92b16bb0eef295acb4c857657 alpha/usermode-1.17-1.alpha.rpm 350662253d09b17d0aca4e9c7a511675 sparc/pam-0.68-10.sparc.rpm d89495957c9a438fda657b8a4a5f5578 sparc/usermode-1.17-1.sparc.rpm f9ad800f56b7bb05ce595bad824a990d SRPMS/pam-0.68-10.src.rpm 1d3b367d257a57de7d834043a4fcd87a SRPMS/usermode-1.17-1.src.rpm