PHP :: Bug #28456 :: upload php vulnerability
| Bug #28456 | upload php vulnerability | ||||
|---|---|---|---|---|---|
| Submitted: | 2004-05-20 17:03 UTC | Modified: | 2004-09-22 07:20 UTC | ||
| From: | overflow at neuf dot fr | Assigned: | |||
| Status: | Closed | Package: | Unknown/Other Function | ||
| PHP Version: | 4.3.4 | OS: | |||
| Private report: | No | CVE-ID: | None | ||
[2004-05-20 17:03 UTC] overflow at neuf dot fr
Description: ------------ upload php vulnerability for $_FILES['userfile']['name'] can contain string "../" if the name start with a "." with a fake raw http : Content-Disposition: form-data; name="userfile"; filename="../../../test.html" Reproduce code: --------------- http://slythers.tcpteam.org/uploadphpvuln.txt Expected result: ---------------- security vulnerability in upload script
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2004-05-20 17:49 UTC] mail at young dot org dot ua
Oh, yes. I have try to analyze this question, and got following result: If Post data looks like this: Content-Disposition: form-data; name="userfile"; filename="../test.html" Variable $_FILES['userfile']['name'] initializes with value "../test.html" And one more example code taken from PHP manual: -------- $uploaddir = '/var/www/uploads/'; $uploadfile = $uploaddir . $_FILES['userfile']['name']; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { -------- Trying to copy file into '/var/www/uploads/../test.html And in opinien this situation potential dangerous.[2004-05-20 18:30 UTC] overflow at neuf dot fr
[2004-05-21 10:25 UTC] tony2001@php.net
[2004-09-21 09:06 UTC] NetVicious at gmail dot com