Commits

Robert Brewer committed ad808ea

2.1 fix for #744 (Malicious cookies may allow access to files outside the session directory).

Comments (0)

Files changed (1)

cherrypy/lib/filter/sessionfilter.py

         storagePath = cherrypy.config.get('sessionFilter.storagePath')
         fileName = self.SESSION_PREFIX + id
         filePath = os.path.join(storagePath, fileName)
+        if not os.path.normpath(filePath).startswith(storagePath):
+            raise cherrypy.HTTPError(400, "Invalid session id in cookie.")
         return filePath
     
     def _lockFile(self, path):