rougier / freetype-py

Python binding for the freetype library
Other
298 stars 88 forks source link

CVE-2007-4559 Patch #159

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.

alerque commented 1 year ago

Why not patch the Python tarfile package to fix the bug rather than every project in the world to try to work around it?

HinTak commented 1 year ago

I agree with @alerque . I think you should submit the code diff upstream as extractall(..., safe=True) , default to disallow extraction outside, but with the option of overriding it for advanced users who really know what they are doing and really want to extract outside.

Besides, I think we are only processing tar balls from official sources, so there is not much point of including your code change, as we simply don't process random tar balls.

Unless somebody feel strongly about this, I am inclined to just close this to not include code change which are never used.

HinTak commented 1 year ago

This is probably considered spamming. See also https://github.com/FontVal-extras/freetype-py/pull/1