Closed TrellixVulnTeam closed 1 year ago
Thanks for suggested code change and the explanation. However, in this specific case, the additional checking is unnecessary. The tarball in this case is constructed by the user, which is done by code that doesn't include such path traversal issues. Since we are executing code from the tarball, it has to be trusted already. Double checking paths for a traversal attack, wouldn't be enough to use an untrusted tarball.
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.