IT家园's Archiver

西布伦 发表于 2008-7-31 12:13

.Perl rmtree()函数本地不安全权限漏洞

.Perl rmtree()函数本地不安全权限漏洞
--------------------------------------------------------------------------------

涉及程序:
Perl
  
描述:
Perl rmtree()函数本地不安全权限漏洞

  
详细:
Perl是一种免费且功能强大的编程语言。
Perl的lib/File/Path.pm文件中的rmtree函数在执行chmod时没有正确地检查权限:
        my $nperm = $perm & 07777 | 0600;
        if ($nperm != $perm and not chmod $nperm, $root) {
           if ($Force_Writeable) {
             _error($arg, "cannot make file writeable", $canon);
           }
        }
上述代码仅在尝试chmod后才测试$Force_Writeable变量,该变量用于定义在删除文件时操作系统是否需要写权限。当rmtree()遇到符号链接时,就会将链接目标的权限更改为链接的权限,通常为0777。
% touch foo
% ln -s foo bar
% ls -l foo bar
lrwxrwxrwx 1 niko niko 3 2008-06-21 09:06 bar -> foo
-rw-r--r-- 1 niko niko 0 2008-06-21 09:06 foo
% perl -e 'use File::Path rmtree; rmtree bar'
% ls -l foo bar
ls: cannot access bar: No such file or directory
-rwxrwxrwx 1 niko niko 0 2008-06-21 09:06 foo
<*来源:Ben Hutchings ([email=ben@decadent.org.uk]ben@decadent.org.uk[/email])
链接:[url=http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487319]http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487319[/url]
     [url=http://rt.cpan.org/Public/Bug/Display.html?id=36982]http://rt.cpan.org/Public/Bug/Display.html?id=36982[/url]
*>
受影响系统:
Larry Wall Perl 5.10

  
攻击方法:
暂无有效攻击代码
  
解决方案:
厂商补丁:
Larry Wall
----------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
[url=http://www.perl.org/]http://www.perl.org/[/url]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.