Changed t3lib_div::validPathStr() that it rejects files starting with ../ or containi...
authorMartin Kutschker <martin.t.kutschker@blackbox.net>
Mon, 15 May 2006 19:00:39 +0000 (19:00 +0000)
committerMartin Kutschker <martin.t.kutschker@blackbox.net>
Mon, 15 May 2006 19:00:39 +0000 (19:00 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@1464 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_div.php

index b8f1f4b..3944567 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+
+2006-05-15  Martin Kutschker  <martin.t.kutschker@blackbox.net>
+
+       * Fix bug #3364: Changed t3lib_div::validPathStr() that it rejects files starting with ../ or containing /../, but allows ..
+
 2006-05-05  Stanislas Rolland  <stanislas.rolland@fructifor.ca>
 
        * Fixes and features to htmlArea RTE extension (see details in local ChangeLog)
index ff2c523..4becfa5 100755 (executable)
@@ -3272,11 +3272,11 @@ class t3lib_div {
         * Usage: 14
         *
         * @param       string          Filepath to evaluate
-        * @return      boolean         True, if no '//', '..' or '\' is in the $theFile
+        * @return      boolean         True, if no '//', '\', '/../' is in the $theFile and $theFile doesn't begin with '../'
         * @todo        Possible improvement: Should it rawurldecode the string first to check if any of these characters is encoded ?
         */
        function validPathStr($theFile) {
-               if (!strstr($theFile,'//') && !strstr($theFile,'..') && !strstr($theFile,'\\')) return true;
+               if (!strstr($theFile,'//') && !strstr($theFile,'\\') && !preg_match('|(?:^\.\.|/\.\./|',$theFile))      return true;
        }
 
        /**