
理解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降低风险的信息吗?
若您希望获取更多免费编码指南,请访问安全代码训练师,助您掌握安全编码实践。




%20(1).avif)
.avif)
