
理解Python tar文件模块中的路径遍历错误
近日,一支安全研究团队宣布发现Python中一个存在十五年的tar文件提取功能漏洞。该漏洞最早于2007年被披露,编号为CVE-2007-4559。官方Python文档中虽添加了相关说明,但漏洞本身始终未被修复。
该漏洞可能影响数千个软件项目,但许多人对此情况及应对方式并不熟悉。因此,在 Secure Code Warrior为您提供亲身体验该漏洞利用过程的机会,让您直观感受其影响,并通过实践掌握这一顽固缺陷的运作机制,从而更好地保护您的应用程序!
立即体验模拟任务。
漏洞:tar文件提取过程中的路径遍历
路径遍历漏洞发生于使用未经安全处理的用户输入构建文件路径时,这将使攻击者能够访问文件并覆盖其内容,甚至执行任意代码。
该漏洞存在于Python的tar模块中。 tar文件(磁带文件)是一种名为"档案"的特殊文件。它将多个文件及其元数据整合在一起,通常以.tar.gz或 .tgz扩展名标识。每个文件成员可由TAR信息对象表示,该对象包含文件名、修改时间、所有权等元数据。
风险源于文件能够被重新提取的能力。
提取时,每个成员都需要一个写入路径。该位置通过将基础路径与文件名组合生成:

一旦创建了此路径,就会进入 tar.extract文件 o archivo tar.extractall 功能进行解压:

此处的问题在于文件名未进行消毒处理。 攻击者可能通过在文件名中植入反向路径字符(如双点双点斜杠../)来篡改文件名,导致文件脱离目标目录并覆盖任意文件。长期来看,这可能引发远程代码执行漏洞,该漏洞已具备可利用条件。
漏洞在其他场景中同样存在,只要懂得如何识别。除了Python处理tar文件时的漏洞外,解压zip文件时也存在安全隐患。您可能更熟悉其别称——zip slip漏洞,这种漏洞不仅出现在Python中,其他编程语言也曾遭遇过!
如何降低风险?
尽管该漏洞已存在多年,Python维护者认为提取功能正在按预期运行。在此情况下,有人可能会说"这是功能而非错误"。 遗憾的是,开发者并非总能避免从未知来源提取tar或zip文件。作为安全开发实践的一部分,他们必须对不可信信息进行消毒处理,以防止漏洞从路径中逸出。
您想了解更多关于如何编写安全代码以及如何使用Python降低风险的信息吗?
若您希望获取更多免费编码指南,请访问安全代码训练师,助您掌握安全编码实践。


近日,一支安全研究团队宣布发现Python中一个存在十五年的tar文件提取功能漏洞。该漏洞最早于2007年被发现,编号为CVE-2007-4559。虽然官方文档中添加了相关说明,但漏洞本身并未得到修复。

Secure Code Warrior 您的组织在软件开发全生命周期中保护代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全管理员、开发人员、首席信息安全官,还是任何与安全相关的工作人员,我们都能助力您的组织降低不安全代码带来的风险。
预约演示Laura Verheyde 是Secure Code Warrior 的一名软件开发人员,主要负责研究漏洞并为Missions 和编码实验室创建内容。


近日,一支安全研究团队宣布发现Python中一个存在十五年的tar文件提取功能漏洞。该漏洞最早于2007年被披露,编号为CVE-2007-4559。官方Python文档中虽添加了相关说明,但漏洞本身始终未被修复。
该漏洞可能影响数千个软件项目,但许多人对此情况及应对方式并不熟悉。因此,在 Secure Code Warrior为您提供亲身体验该漏洞利用过程的机会,让您直观感受其影响,并通过实践掌握这一顽固缺陷的运作机制,从而更好地保护您的应用程序!
立即体验模拟任务。
漏洞:tar文件提取过程中的路径遍历
路径遍历漏洞发生于使用未经安全处理的用户输入构建文件路径时,这将使攻击者能够访问文件并覆盖其内容,甚至执行任意代码。
该漏洞存在于Python的tar模块中。 tar文件(磁带文件)是一种名为"档案"的特殊文件。它将多个文件及其元数据整合在一起,通常以.tar.gz或 .tgz扩展名标识。每个文件成员可由TAR信息对象表示,该对象包含文件名、修改时间、所有权等元数据。
风险源于文件能够被重新提取的能力。
提取时,每个成员都需要一个写入路径。该位置通过将基础路径与文件名组合生成:

一旦创建了此路径,就会进入 tar.extract文件 o archivo tar.extractall 功能进行解压:

此处的问题在于文件名未进行消毒处理。 攻击者可能通过在文件名中植入反向路径字符(如双点双点斜杠../)来篡改文件名,导致文件脱离目标目录并覆盖任意文件。长期来看,这可能引发远程代码执行漏洞,该漏洞已具备可利用条件。
漏洞在其他场景中同样存在,只要懂得如何识别。除了Python处理tar文件时的漏洞外,解压zip文件时也存在安全隐患。您可能更熟悉其别称——zip slip漏洞,这种漏洞不仅出现在Python中,其他编程语言也曾遭遇过!
如何降低风险?
尽管该漏洞已存在多年,Python维护者认为提取功能正在按预期运行。在此情况下,有人可能会说"这是功能而非错误"。 遗憾的是,开发者并非总能避免从未知来源提取tar或zip文件。作为安全开发实践的一部分,他们必须对不可信信息进行消毒处理,以防止漏洞从路径中逸出。
您想了解更多关于如何编写安全代码以及如何使用Python降低风险的信息吗?
若您希望获取更多免费编码指南,请访问安全代码训练师,助您掌握安全编码实践。

近日,一支安全研究团队宣布发现Python中一个存在十五年的tar文件提取功能漏洞。该漏洞最早于2007年被披露,编号为CVE-2007-4559。官方Python文档中虽添加了相关说明,但漏洞本身始终未被修复。
该漏洞可能影响数千个软件项目,但许多人对此情况及应对方式并不熟悉。因此,在 Secure Code Warrior为您提供亲身体验该漏洞利用过程的机会,让您直观感受其影响,并通过实践掌握这一顽固缺陷的运作机制,从而更好地保护您的应用程序!
立即体验模拟任务。
漏洞:tar文件提取过程中的路径遍历
路径遍历漏洞发生于使用未经安全处理的用户输入构建文件路径时,这将使攻击者能够访问文件并覆盖其内容,甚至执行任意代码。
该漏洞存在于Python的tar模块中。 tar文件(磁带文件)是一种名为"档案"的特殊文件。它将多个文件及其元数据整合在一起,通常以.tar.gz或 .tgz扩展名标识。每个文件成员可由TAR信息对象表示,该对象包含文件名、修改时间、所有权等元数据。
风险源于文件能够被重新提取的能力。
提取时,每个成员都需要一个写入路径。该位置通过将基础路径与文件名组合生成:

一旦创建了此路径,就会进入 tar.extract文件 o archivo tar.extractall 功能进行解压:

此处的问题在于文件名未进行消毒处理。 攻击者可能通过在文件名中植入反向路径字符(如双点双点斜杠../)来篡改文件名,导致文件脱离目标目录并覆盖任意文件。长期来看,这可能引发远程代码执行漏洞,该漏洞已具备可利用条件。
漏洞在其他场景中同样存在,只要懂得如何识别。除了Python处理tar文件时的漏洞外,解压zip文件时也存在安全隐患。您可能更熟悉其别称——zip slip漏洞,这种漏洞不仅出现在Python中,其他编程语言也曾遭遇过!
如何降低风险?
尽管该漏洞已存在多年,Python维护者认为提取功能正在按预期运行。在此情况下,有人可能会说"这是功能而非错误"。 遗憾的是,开发者并非总能避免从未知来源提取tar或zip文件。作为安全开发实践的一部分,他们必须对不可信信息进行消毒处理,以防止漏洞从路径中逸出。
您想了解更多关于如何编写安全代码以及如何使用Python降低风险的信息吗?
若您希望获取更多免费编码指南,请访问安全代码训练师,助您掌握安全编码实践。
近日,一支安全研究团队宣布发现Python中一个存在十五年的tar文件提取功能漏洞。该漏洞最早于2007年被披露,编号为CVE-2007-4559。官方Python文档中虽添加了相关说明,但漏洞本身始终未被修复。
该漏洞可能影响数千个软件项目,但许多人对此情况及应对方式并不熟悉。因此,在 Secure Code Warrior为您提供亲身体验该漏洞利用过程的机会,让您直观感受其影响,并通过实践掌握这一顽固缺陷的运作机制,从而更好地保护您的应用程序!
立即体验模拟任务。
漏洞:tar文件提取过程中的路径遍历
路径遍历漏洞发生于使用未经安全处理的用户输入构建文件路径时,这将使攻击者能够访问文件并覆盖其内容,甚至执行任意代码。
该漏洞存在于Python的tar模块中。 tar文件(磁带文件)是一种名为"档案"的特殊文件。它将多个文件及其元数据整合在一起,通常以.tar.gz或 .tgz扩展名标识。每个文件成员可由TAR信息对象表示,该对象包含文件名、修改时间、所有权等元数据。
风险源于文件能够被重新提取的能力。
提取时,每个成员都需要一个写入路径。该位置通过将基础路径与文件名组合生成:

一旦创建了此路径,就会进入 tar.extract文件 o archivo tar.extractall 功能进行解压:

此处的问题在于文件名未进行消毒处理。 攻击者可能通过在文件名中植入反向路径字符(如双点双点斜杠../)来篡改文件名,导致文件脱离目标目录并覆盖任意文件。长期来看,这可能引发远程代码执行漏洞,该漏洞已具备可利用条件。
漏洞在其他场景中同样存在,只要懂得如何识别。除了Python处理tar文件时的漏洞外,解压zip文件时也存在安全隐患。您可能更熟悉其别称——zip slip漏洞,这种漏洞不仅出现在Python中,其他编程语言也曾遭遇过!
如何降低风险?
尽管该漏洞已存在多年,Python维护者认为提取功能正在按预期运行。在此情况下,有人可能会说"这是功能而非错误"。 遗憾的是,开发者并非总能避免从未知来源提取tar或zip文件。作为安全开发实践的一部分,他们必须对不可信信息进行消毒处理,以防止漏洞从路径中逸出。
您想了解更多关于如何编写安全代码以及如何使用Python降低风险的信息吗?
若您希望获取更多免费编码指南,请访问安全代码训练师,助您掌握安全编码实践。
入门资源
Trust Agent:AI - Secure and scale AI-Drive development
AI is writing code. Who’s governing it? With up to 50% of AI-generated code containing security weaknesses, managing AI risk is critical. Discover how SCW's Trust Agent: AI provides the real-time visibility, proactive governance, and targeted upskilling needed to scale AI-driven development securely.
OpenText 应用程序安全性的强大功能 + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.




