在tarfile.extractall文档中提到:
不要在未经检查的来源中提取归档文件。 可能会在路径之外创建文件,例如以“ /”开头的绝对文件名或具有两个点“..”的文件名。
网上或stackoverflow上的一些帖子解决了这些漏洞,但是我仍然可以想到另一种情况,例如具有以下两个文件的tarball:
A --> /etc
A/passwd
A
入口是一个符号链接,其中任何内容都将被重定向到/etc
,这在大多数网络解决方案中无法检测到。
我的问题是,除此之外,我可能忽略了一些其他漏洞,因此即使我有处理此问题的代码,它仍然可能不安全。是否有一个成熟的Python库可以安全地提取tarball?