
Pythonのtarファイルモジュールにおけるパス探索エラーを理解する
最近、セキュリティ研究者チームがPythonのtarファイル抽出機能に15年前のバグを発見したと発表した。この脆弱性は2007年に初めて報告され、CVE-2007-4559として追跡されていた。Pythonの公式ドキュメントには注記が追加されたが、バグ自体は修正されなかった。
この脆弱性は数千ものソフトウェアプロジェクトに影響を及ぼす可能性がありますが、多くの人はこの状況や対処法に精通していません。だからこそ、ここ Secure Code Warriorでは、この脆弱性の悪用を自らシミュレートする機会を提供します。その影響を直接確認し、この根深い欠陥のメカニズムに関する実践的な経験を積むことで、アプリケーションをより効果的に保護できるようになるでしょう!
今すぐ模擬ミッションを試してみてください。
脆弱性:tarファイル抽出時の経路追跡
パストラッキングまたはディレクトリトラッキングは、消毒されていないユーザー入力を使用してファイルパスを構築する際に発生します。これにより攻撃者はファイルへのアクセスや上書きが可能となり、さらには任意のコードを実行することさえ可能になります。
Pythonのtarモジュールに脆弱性が存在します。 tarファイル(テープファイル)は単一のファイルであり、通常は.tar.gzまたは .tgz拡張子で識別されます。各メンバーは TAR オブジェクトで表現され、ファイル名、変更日時、所有者などのメタデータを含みます。
リスクは、ファイルが再抽出される可能性に起因する。
抽出時には、各メンバーが書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます:

このパスが作成されると、 tar.extractファイル または archivo tar.extractall 関数を使用して抽出を行います:

ここでの問題は、ファイル名の消毒処理が不十分であることです。 攻撃者はファイル名を変更し、../(ダブルドットスラッシュ)などのパスを遡る文字列を含めることが可能です。これにより、ファイルが意図されたディレクトリから移動し、任意のファイルを上書きする可能性があります。最終的には、リモートコード実行につながる恐れがあり、悪用される危険性があります。
脆弱性は他のシナリオでも現れます。見つけ方を知っていればの話ですが。Pythonによるtarファイルの処理に加え、zipファイルの抽出にも脆弱性が存在します。これはzip slip脆弱性など別の名称で知られているかもしれません。Python以外の言語でも発生しているのです!
リスクをどのように軽減できますか?
この脆弱性は長年知られていますが、Pythonのメンテナは抽出機能が想定通りに動作していると見なしています。この場合、「これは機能であってバグではない」と主張する者もいるでしょう。 残念ながら、開発者は未知のソースからのtarやzipファイルの抽出を常に回避できるわけではありません。安全な開発プラクティスの一環として、信頼できない情報を消毒し、脆弱性がルートから逸脱するのを防ぐのは開発者自身の責任です。
Pythonで安全なコードを書き、リスクを軽減する方法について、さらに詳しく知りたいですか?
無料のPythonチャレンジをお試しください。
無料のコーディングガイドラインをさらに入手したい場合は、安全なコーディングの実践を把握するのに役立つ「セキュアコードトレーナー」をご覧ください。


最近、セキュリティ研究者チームがPythonのtarファイル抽出機能に15年前のバグを発見したと発表した。この脆弱性は2007年に初めて発見され、CVE-2007-4559として追跡されていた。Pythonの公式ドキュメントには注記が追加されたが、バグ自体は修正されなかった。

Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。
デモを予約するLaura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。


最近、セキュリティ研究者チームがPythonのtarファイル抽出機能に15年前のバグを発見したと発表した。この脆弱性は2007年に初めて報告され、CVE-2007-4559として追跡されていた。Pythonの公式ドキュメントには注記が追加されたが、バグ自体は修正されなかった。
この脆弱性は数千ものソフトウェアプロジェクトに影響を及ぼす可能性がありますが、多くの人はこの状況や対処法に精通していません。だからこそ、ここ Secure Code Warriorでは、この脆弱性の悪用を自らシミュレートする機会を提供します。その影響を直接確認し、この根深い欠陥のメカニズムに関する実践的な経験を積むことで、アプリケーションをより効果的に保護できるようになるでしょう!
今すぐ模擬ミッションを試してみてください。
脆弱性:tarファイル抽出時の経路追跡
パストラッキングまたはディレクトリトラッキングは、消毒されていないユーザー入力を使用してファイルパスを構築する際に発生します。これにより攻撃者はファイルへのアクセスや上書きが可能となり、さらには任意のコードを実行することさえ可能になります。
Pythonのtarモジュールに脆弱性が存在します。 tarファイル(テープファイル)は単一のファイルであり、通常は.tar.gzまたは .tgz拡張子で識別されます。各メンバーは TAR オブジェクトで表現され、ファイル名、変更日時、所有者などのメタデータを含みます。
リスクは、ファイルが再抽出される可能性に起因する。
抽出時には、各メンバーが書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます:

このパスが作成されると、 tar.extractファイル または archivo tar.extractall 関数を使用して抽出を行います:

ここでの問題は、ファイル名の消毒処理が不十分であることです。 攻撃者はファイル名を変更し、../(ダブルドットスラッシュ)などのパスを遡る文字列を含めることが可能です。これにより、ファイルが意図されたディレクトリから移動し、任意のファイルを上書きする可能性があります。最終的には、リモートコード実行につながる恐れがあり、悪用される危険性があります。
脆弱性は他のシナリオでも現れます。見つけ方を知っていればの話ですが。Pythonによるtarファイルの処理に加え、zipファイルの抽出にも脆弱性が存在します。これはzip slip脆弱性など別の名称で知られているかもしれません。Python以外の言語でも発生しているのです!
リスクをどのように軽減できますか?
この脆弱性は長年知られていますが、Pythonのメンテナは抽出機能が想定通りに動作していると見なしています。この場合、「これは機能であってバグではない」と主張する者もいるでしょう。 残念ながら、開発者は未知のソースからのtarやzipファイルの抽出を常に回避できるわけではありません。安全な開発プラクティスの一環として、信頼できない情報を消毒し、脆弱性がルートから逸脱するのを防ぐのは開発者自身の責任です。
Pythonで安全なコードを書き、リスクを軽減する方法について、さらに詳しく知りたいですか?
無料のPythonチャレンジをお試しください。
無料のコーディングガイドラインをさらに入手したい場合は、安全なコーディングの実践を把握するのに役立つ「セキュアコードトレーナー」をご覧ください。

最近、セキュリティ研究者チームがPythonのtarファイル抽出機能に15年前のバグを発見したと発表した。この脆弱性は2007年に初めて報告され、CVE-2007-4559として追跡されていた。Pythonの公式ドキュメントには注記が追加されたが、バグ自体は修正されなかった。
この脆弱性は数千ものソフトウェアプロジェクトに影響を及ぼす可能性がありますが、多くの人はこの状況や対処法に精通していません。だからこそ、ここ Secure Code Warriorでは、この脆弱性の悪用を自らシミュレートする機会を提供します。その影響を直接確認し、この根深い欠陥のメカニズムに関する実践的な経験を積むことで、アプリケーションをより効果的に保護できるようになるでしょう!
今すぐ模擬ミッションを試してみてください。
脆弱性:tarファイル抽出時の経路追跡
パストラッキングまたはディレクトリトラッキングは、消毒されていないユーザー入力を使用してファイルパスを構築する際に発生します。これにより攻撃者はファイルへのアクセスや上書きが可能となり、さらには任意のコードを実行することさえ可能になります。
Pythonのtarモジュールに脆弱性が存在します。 tarファイル(テープファイル)は単一のファイルであり、通常は.tar.gzまたは .tgz拡張子で識別されます。各メンバーは TAR オブジェクトで表現され、ファイル名、変更日時、所有者などのメタデータを含みます。
リスクは、ファイルが再抽出される可能性に起因する。
抽出時には、各メンバーが書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます:

このパスが作成されると、 tar.extractファイル または archivo tar.extractall 関数を使用して抽出を行います:

ここでの問題は、ファイル名の消毒処理が不十分であることです。 攻撃者はファイル名を変更し、../(ダブルドットスラッシュ)などのパスを遡る文字列を含めることが可能です。これにより、ファイルが意図されたディレクトリから移動し、任意のファイルを上書きする可能性があります。最終的には、リモートコード実行につながる恐れがあり、悪用される危険性があります。
脆弱性は他のシナリオでも現れます。見つけ方を知っていればの話ですが。Pythonによるtarファイルの処理に加え、zipファイルの抽出にも脆弱性が存在します。これはzip slip脆弱性など別の名称で知られているかもしれません。Python以外の言語でも発生しているのです!
リスクをどのように軽減できますか?
この脆弱性は長年知られていますが、Pythonのメンテナは抽出機能が想定通りに動作していると見なしています。この場合、「これは機能であってバグではない」と主張する者もいるでしょう。 残念ながら、開発者は未知のソースからのtarやzipファイルの抽出を常に回避できるわけではありません。安全な開発プラクティスの一環として、信頼できない情報を消毒し、脆弱性がルートから逸脱するのを防ぐのは開発者自身の責任です。
Pythonで安全なコードを書き、リスクを軽減する方法について、さらに詳しく知りたいですか?
無料のPythonチャレンジをお試しください。
無料のコーディングガイドラインをさらに入手したい場合は、安全なコーディングの実践を把握するのに役立つ「セキュアコードトレーナー」をご覧ください。

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。
Secure Code Warrior ソフトウェア開発ライフサイクル全体を通じてコードを保護し、サイバーセキュリティを最優先事項とする文化を構築するために、貴組織をSecure Code Warrior 。AppSec管理者、開発者、CISO、セキュリティ関連担当者など、あらゆる立場の方々に対し、不安全なコードに関連するリスクを軽減するお手伝いをいたします。
報告書を見るデモを予約するLaura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。
最近、セキュリティ研究者チームがPythonのtarファイル抽出機能に15年前のバグを発見したと発表した。この脆弱性は2007年に初めて報告され、CVE-2007-4559として追跡されていた。Pythonの公式ドキュメントには注記が追加されたが、バグ自体は修正されなかった。
この脆弱性は数千ものソフトウェアプロジェクトに影響を及ぼす可能性がありますが、多くの人はこの状況や対処法に精通していません。だからこそ、ここ Secure Code Warriorでは、この脆弱性の悪用を自らシミュレートする機会を提供します。その影響を直接確認し、この根深い欠陥のメカニズムに関する実践的な経験を積むことで、アプリケーションをより効果的に保護できるようになるでしょう!
今すぐ模擬ミッションを試してみてください。
脆弱性:tarファイル抽出時の経路追跡
パストラッキングまたはディレクトリトラッキングは、消毒されていないユーザー入力を使用してファイルパスを構築する際に発生します。これにより攻撃者はファイルへのアクセスや上書きが可能となり、さらには任意のコードを実行することさえ可能になります。
Pythonのtarモジュールに脆弱性が存在します。 tarファイル(テープファイル)は単一のファイルであり、通常は.tar.gzまたは .tgz拡張子で識別されます。各メンバーは TAR オブジェクトで表現され、ファイル名、変更日時、所有者などのメタデータを含みます。
リスクは、ファイルが再抽出される可能性に起因する。
抽出時には、各メンバーが書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます:

このパスが作成されると、 tar.extractファイル または archivo tar.extractall 関数を使用して抽出を行います:

ここでの問題は、ファイル名の消毒処理が不十分であることです。 攻撃者はファイル名を変更し、../(ダブルドットスラッシュ)などのパスを遡る文字列を含めることが可能です。これにより、ファイルが意図されたディレクトリから移動し、任意のファイルを上書きする可能性があります。最終的には、リモートコード実行につながる恐れがあり、悪用される危険性があります。
脆弱性は他のシナリオでも現れます。見つけ方を知っていればの話ですが。Pythonによるtarファイルの処理に加え、zipファイルの抽出にも脆弱性が存在します。これはzip slip脆弱性など別の名称で知られているかもしれません。Python以外の言語でも発生しているのです!
リスクをどのように軽減できますか?
この脆弱性は長年知られていますが、Pythonのメンテナは抽出機能が想定通りに動作していると見なしています。この場合、「これは機能であってバグではない」と主張する者もいるでしょう。 残念ながら、開発者は未知のソースからのtarやzipファイルの抽出を常に回避できるわけではありません。安全な開発プラクティスの一環として、信頼できない情報を消毒し、脆弱性がルートから逸脱するのを防ぐのは開発者自身の責任です。
Pythonで安全なコードを書き、リスクを軽減する方法について、さらに詳しく知りたいですか?
無料のPythonチャレンジをお試しください。
無料のコーディングガイドラインをさらに入手したい場合は、安全なコーディングの実践を把握するのに役立つ「セキュアコードトレーナー」をご覧ください。




%20(1).avif)
.avif)
