Lasagne / Recipes

Lasagne recipes: examples, IPython notebooks, ...
MIT License
914 stars 418 forks source link

CVE-2007-4559 Patch #120

Closed TrellixVulnTeam closed 1 year ago

TrellixVulnTeam commented 1 year ago

Patching CVE-2007-4559

Hi, we are security researchers from the Advanced Research Center at Trellix. We have began a campaign to patch a widespread bug named CVE-2007-4559. CVE-2007-4559 is a 15 year old bug in the Python tarfile package. By using extract() or extractall() on a tarfile object without sanitizing input, a maliciously crafted .tar file could perform a directory path traversal attack. We found at least one unsantized extractall() in your codebase and are providing a patch for you via pull request. The patch essentially checks to see if all tarfile members will be extracted safely and throws an exception otherwise. We encourage you to use this patch or your own solution to secure against CVE-2007-4559. Further technical information about the vulnerability can be found in this blog.

If you have further questions you may contact us through this projects lead researcher Kasimir Schulz.

f0k commented 1 year ago

Thank you for the initiative! In our case, we do not have random access to the file we extract, so an extra pass with getmembers() is not an option, we'd need to implement extraction ourselves. However, this code is used on one well-defined file of trusted origin, and would need to be combined with DNS spoofing to become a threat. As it is research code reimplementing an old paper with an old library, it has such a limited audience that this will not be attempted.