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

Posted by ArtHack on Jun 25th, 2008 and filed under Notice loopholes. You can follow any responses to this entry through the RSS 2.0. You can also subscribe to us, through the Top of the E-mail - 加入超级QQ群:32843311

受影响系统:
Larry Wall Perl 5.10
描述:
——————————————————————————–
BUGTRAQ  ID: 29902
CVE(CAN) ID: CVE-2008-2827

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 (ben@decadent.org.uk

链接:http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=487319
http://rt.cpan.org/Public/Bug/Display.html?id=36982
*>

建议:
——————————————————————————–
厂商补丁:

Larry Wall
———-
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://www.perl.org/

Classic Posts

Our Sponsors

Leave a Reply

Our Sponsors

Tag Cloud

Premium Wordpress Themes

WPZOOM
Themeforest
StudioPress
WooThemes
wp remix
Translator
Chinese (Simplified) flagChinese (Traditional) flagItalian flagKorean flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flagCroat flagDanish flagFinnish flagHindi flagPolish flagRumanian flagSwedish flagNorwegian flagCatalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flagSlovenian flagUkrainian flagVietnamese flagAlbanian flagEstonian flagGalician flagMaltese flagThai flagTurkish flagHungarian flag
Log in / Art Hack.All rights reserved.