New submission from Ralf Schmitt <sch...@gmail.com>: ZipFile.extractall happily overwrites any file on the filesystem. One can put files with a name like "//etc/password" in a zip file and extractall will overwrite /etc/password (with sufficient rights).
The docs say: ZipFile.extractall([path[, members[, pwd]]]) Extract all members from the archive to the current working directory. path specifies a different directory to extract to. members is optional and must be a subset of the list returned by namelist(). pwd is the password used for encrypted files. I read that as: it will put all files into path or a subdirectory. Using names like "../../../etc/password" also leads to files being written outside that path directory. ---------- components: Library (Lib) messages: 93021 nosy: schmir severity: normal status: open title: zipfile.ZipFile type: security versions: Python 2.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6972> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com