SCW アイコン
ヒーロー背景(区切りなし)
ブログ

Pythonのtarfileモジュールパトラバーサバグキンクー

ローラ・バーハイド
2022年10月03日 掲載
最終更新日: 2026年3月10日

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

この脆弱性は数千ものソフトウェアプロジェクトに影響を与える可能性がありますが、多くの人々が状況や対処方法に慣れていません。だからこそ、ここセキュア・コード・ウォリアーでは、この脆弱性の悪用を自らシミュレートして影響を直接確認し、この永続的なバグの仕組みを実際に体験する機会を提供します。これにより、アプリケーションの保護を強化できます。

シミュレートしてみるミッション今。

脆弱性: tar ファイル抽出中のパストラバーサル

パス・トラバーサルまたはディレクトリ・トラバーサルは、サニタイズされていないユーザー入力を使用してファイルパスを作成した際に発生し、攻撃者がファイルにアクセスして上書きしたり、任意のコードを実行したりする可能性があります。

この脆弱性はPythonのtarファイルモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる単一のファイルです。これは複数のファイルとそのメタデータをまとめてパッケージ化したもので、通常はtar. gzまたはtgz拡張子が付きますアーカイブ内の各メンバーはTAR情報オブジェクトであり、ファイル名、変更時間、所有権などのメタデータを含みます。

リスクは、アーカイブを再度抽出できることに起因します。

抽出時には、すべてのメンバーに書き込み可能なパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます。

Python スニペット Tarfile.py


このパスが作成されると、 tar ファイル. 抽出 または tar ファイル. すべて抽出 抽出を実行する関数:

Python スニペット Tarfile.py

ここでの問題は、ファイル名がサニタイズされていないことです。攻撃者は、パストラバーサル文字を含むようにファイルの名前を変更する可能性があります。ドットドットスラッシュ(../)。これにより、ファイルは本来あるべきディレクトリから移動し、任意のファイルを上書きします。これにより、最終的にはリモートでコードが実行され、悪用されやすくなります。

脆弱性は、特定の方法がわかっている場合、他のシナリオでも発生します。Pythonによるtarファイルの処理に加え、この脆弱性はzipファイルの抽出にも影響します。これは別の名前でも知られているかもしれません。例えば、ジップスリップ脆弱性です。これはPython以外の言語でも明らかになっています

ミッションへのリンク 

どうすればリスクを軽減できますか?

この脆弱性は以前から知られていましたが、Pythonの保守担当者は抽出機能に本来期待される動作を求めます。この場合、「バグではなく機能だ」と主張する者もいるかもしれません。残念ながら、開発者が未知のソースからのtarファイルやzipファイルの抽出を常に回避できるとは限りません。安全な開発プラクティスの一環として、信頼できない入力をサニタイズしパスラバーサル脆弱性を防ぐのは開発者次第です。

Pythonで安全なコードを書いてリスクを軽減する方法についてもっと知りたいですか?

私たちを試してみてください無料のPythonチャレンジ

無料のコーディングガイドラインをもっと入手したい場合は、セキュア・コード・コーチをチェックしてください安全なコーディング方法を常に把握するのに役立ちます。

リソースを表示
リソースを表示

本日、パシフィックパークはPythonのタータールグラダに15年前の奇妙な問題を発見した。2007年秋の新聞記事、CVE-2007-4559に至るまで。Pythonのリビングニニニニププププサダママス。

もっと興味がありますか?

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。

デモを予約
シェア:
リンクトインのブランドソーシャルx ロゴ
著者
ローラ・バーハイド
2022年10月03日発行

ローラ・ヴェルハイデは、Secure Code Warriorのソフトウェア開発者であり、ミッションラボとコーディングラボ向けの脆弱性調査とコンテンツ作成に注力しています。

シェア:
リンクトインのブランドソーシャルx ロゴ

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

この脆弱性は数千ものソフトウェアプロジェクトに影響を与える可能性がありますが、多くの人々が状況や対処方法に慣れていません。だからこそ、ここセキュア・コード・ウォリアーでは、この脆弱性の悪用を自らシミュレートして影響を直接確認し、この永続的なバグの仕組みを実際に体験する機会を提供します。これにより、アプリケーションの保護を強化できます。

シミュレートしてみるミッション今。

脆弱性: tar ファイル抽出中のパストラバーサル

パス・トラバーサルまたはディレクトリ・トラバーサルは、サニタイズされていないユーザー入力を使用してファイルパスを作成した際に発生し、攻撃者がファイルにアクセスして上書きしたり、任意のコードを実行したりする可能性があります。

この脆弱性はPythonのtarファイルモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる単一のファイルです。これは複数のファイルとそのメタデータをまとめてパッケージ化したもので、通常はtar. gzまたはtgz拡張子が付きますアーカイブ内の各メンバーはTAR情報オブジェクトであり、ファイル名、変更時間、所有権などのメタデータを含みます。

リスクは、アーカイブを再度抽出できることに起因します。

抽出時には、すべてのメンバーに書き込み可能なパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます。

Python スニペット Tarfile.py


このパスが作成されると、 tar ファイル. 抽出 または tar ファイル. すべて抽出 抽出を実行する関数:

Python スニペット Tarfile.py

ここでの問題は、ファイル名がサニタイズされていないことです。攻撃者は、パストラバーサル文字を含むようにファイルの名前を変更する可能性があります。ドットドットスラッシュ(../)。これにより、ファイルは本来あるべきディレクトリから移動し、任意のファイルを上書きします。これにより、最終的にはリモートでコードが実行され、悪用されやすくなります。

脆弱性は、特定の方法がわかっている場合、他のシナリオでも発生します。Pythonによるtarファイルの処理に加え、この脆弱性はzipファイルの抽出にも影響します。これは別の名前でも知られているかもしれません。例えば、ジップスリップ脆弱性です。これはPython以外の言語でも明らかになっています

ミッションへのリンク 

どうすればリスクを軽減できますか?

この脆弱性は以前から知られていましたが、Pythonの保守担当者は抽出機能に本来期待される動作を求めます。この場合、「バグではなく機能だ」と主張する者もいるかもしれません。残念ながら、開発者が未知のソースからのtarファイルやzipファイルの抽出を常に回避できるとは限りません。安全な開発プラクティスの一環として、信頼できない入力をサニタイズしパスラバーサル脆弱性を防ぐのは開発者次第です。

Pythonで安全なコードを書いてリスクを軽減する方法についてもっと知りたいですか?

私たちを試してみてください無料のPythonチャレンジ

無料のコーディングガイドラインをもっと入手したい場合は、セキュア・コード・コーチをチェックしてください安全なコーディング方法を常に把握するのに役立ちます。

リソースを表示
リソースを表示

レポートをダウンロードするには、以下のフォームに記入してください

当社の製品および/または関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を常に細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
SCW成功アイコン
SCWエラーアイコン
フォームを送信するには、「アナリティクス」クッキーを有効にしてください。設定が完了したら、再度無効にしても構いません。

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

この脆弱性は数千ものソフトウェアプロジェクトに影響を与える可能性がありますが、多くの人々が状況や対処方法に慣れていません。だからこそ、ここセキュア・コード・ウォリアーでは、この脆弱性の悪用を自らシミュレートして影響を直接確認し、この永続的なバグの仕組みを実際に体験する機会を提供します。これにより、アプリケーションの保護を強化できます。

シミュレートしてみるミッション今。

脆弱性: tar ファイル抽出中のパストラバーサル

パス・トラバーサルまたはディレクトリ・トラバーサルは、サニタイズされていないユーザー入力を使用してファイルパスを作成した際に発生し、攻撃者がファイルにアクセスして上書きしたり、任意のコードを実行したりする可能性があります。

この脆弱性はPythonのtarファイルモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる単一のファイルです。これは複数のファイルとそのメタデータをまとめてパッケージ化したもので、通常はtar. gzまたはtgz拡張子が付きますアーカイブ内の各メンバーはTAR情報オブジェクトであり、ファイル名、変更時間、所有権などのメタデータを含みます。

リスクは、アーカイブを再度抽出できることに起因します。

抽出時には、すべてのメンバーに書き込み可能なパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます。

Python スニペット Tarfile.py


このパスが作成されると、 tar ファイル. 抽出 または tar ファイル. すべて抽出 抽出を実行する関数:

Python スニペット Tarfile.py

ここでの問題は、ファイル名がサニタイズされていないことです。攻撃者は、パストラバーサル文字を含むようにファイルの名前を変更する可能性があります。ドットドットスラッシュ(../)。これにより、ファイルは本来あるべきディレクトリから移動し、任意のファイルを上書きします。これにより、最終的にはリモートでコードが実行され、悪用されやすくなります。

脆弱性は、特定の方法がわかっている場合、他のシナリオでも発生します。Pythonによるtarファイルの処理に加え、この脆弱性はzipファイルの抽出にも影響します。これは別の名前でも知られているかもしれません。例えば、ジップスリップ脆弱性です。これはPython以外の言語でも明らかになっています

ミッションへのリンク 

どうすればリスクを軽減できますか?

この脆弱性は以前から知られていましたが、Pythonの保守担当者は抽出機能に本来期待される動作を求めます。この場合、「バグではなく機能だ」と主張する者もいるかもしれません。残念ながら、開発者が未知のソースからのtarファイルやzipファイルの抽出を常に回避できるとは限りません。安全な開発プラクティスの一環として、信頼できない入力をサニタイズしパスラバーサル脆弱性を防ぐのは開発者次第です。

Pythonで安全なコードを書いてリスクを軽減する方法についてもっと知りたいですか?

私たちを試してみてください無料のPythonチャレンジ

無料のコーディングガイドラインをもっと入手したい場合は、セキュア・コード・コーチをチェックしてください安全なコーディング方法を常に把握するのに役立ちます。

オンラインセミナーを見る
始めよう
もっと詳しく

以下のリンクをクリックして、このリソースのPDFをダウンロードしてください。

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。

レポートを表示デモを予約
PDFをダウンロード
リソースを表示
シェア:
リンクトインのブランドソーシャルx ロゴ
もっと興味がありますか?

シェア:
リンクトインのブランドソーシャルx ロゴ
著者
ローラ・バーハイド
2022年10月03日発行

ローラ・ヴェルハイデは、Secure Code Warriorのソフトウェア開発者であり、ミッションラボとコーディングラボ向けの脆弱性調査とコンテンツ作成に注力しています。

シェア:
リンクトインのブランドソーシャルx ロゴ

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

この脆弱性は数千ものソフトウェアプロジェクトに影響を与える可能性がありますが、多くの人々が状況や対処方法に慣れていません。だからこそ、ここセキュア・コード・ウォリアーでは、この脆弱性の悪用を自らシミュレートして影響を直接確認し、この永続的なバグの仕組みを実際に体験する機会を提供します。これにより、アプリケーションの保護を強化できます。

シミュレートしてみるミッション今。

脆弱性: tar ファイル抽出中のパストラバーサル

パス・トラバーサルまたはディレクトリ・トラバーサルは、サニタイズされていないユーザー入力を使用してファイルパスを作成した際に発生し、攻撃者がファイルにアクセスして上書きしたり、任意のコードを実行したりする可能性があります。

この脆弱性はPythonのtarファイルモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる単一のファイルです。これは複数のファイルとそのメタデータをまとめてパッケージ化したもので、通常はtar. gzまたはtgz拡張子が付きますアーカイブ内の各メンバーはTAR情報オブジェクトであり、ファイル名、変更時間、所有権などのメタデータを含みます。

リスクは、アーカイブを再度抽出できることに起因します。

抽出時には、すべてのメンバーに書き込み可能なパスが必要です。この場所は、ベースパスとファイル名を結合して作成されます。

Python スニペット Tarfile.py


このパスが作成されると、 tar ファイル. 抽出 または tar ファイル. すべて抽出 抽出を実行する関数:

Python スニペット Tarfile.py

ここでの問題は、ファイル名がサニタイズされていないことです。攻撃者は、パストラバーサル文字を含むようにファイルの名前を変更する可能性があります。ドットドットスラッシュ(../)。これにより、ファイルは本来あるべきディレクトリから移動し、任意のファイルを上書きします。これにより、最終的にはリモートでコードが実行され、悪用されやすくなります。

脆弱性は、特定の方法がわかっている場合、他のシナリオでも発生します。Pythonによるtarファイルの処理に加え、この脆弱性はzipファイルの抽出にも影響します。これは別の名前でも知られているかもしれません。例えば、ジップスリップ脆弱性です。これはPython以外の言語でも明らかになっています

ミッションへのリンク 

どうすればリスクを軽減できますか?

この脆弱性は以前から知られていましたが、Pythonの保守担当者は抽出機能に本来期待される動作を求めます。この場合、「バグではなく機能だ」と主張する者もいるかもしれません。残念ながら、開発者が未知のソースからのtarファイルやzipファイルの抽出を常に回避できるとは限りません。安全な開発プラクティスの一環として、信頼できない入力をサニタイズしパスラバーサル脆弱性を防ぐのは開発者次第です。

Pythonで安全なコードを書いてリスクを軽減する方法についてもっと知りたいですか?

私たちを試してみてください無料のPythonチャレンジ

無料のコーディングガイドラインをもっと入手したい場合は、セキュア・コード・コーチをチェックしてください安全なコーディング方法を常に把握するのに役立ちます。

目次

PDFをダウンロード
リソースを表示
もっと興味がありますか?

もっと詳しく

Secure Code Warriorは、ソフトウェア開発ライフサイクル全体にわたってコードを保護し、サイバーセキュリティを最優先とする文化を築くお手伝いをします。アプリケーションセキュリティマネージャー、開発者、CISO、またはセキュリティ関係者であるかに関わらず、安全でないコードに関連するリスクを軽減するお手伝いをします。

デモを予約[ダウンロード]
シェア:
リンクトインのブランドソーシャルx ロゴ
リソースハブ

始めるためのリソース

その他の投稿
リソースハブ

始めるためのリソース

その他の投稿