Pythonのtarfileモジュールにおけるパストラバーサルバグを理解する
最近、セキュリティ研究者のチームが、Pythonのtarファイル抽出機能における15年前のバグを発見したと発表しました。この脆弱性は2007年に初めて公開され、CVE-2007-4559として追跡されました。Pythonの公式ドキュメントに注意書きが追加されましたが、バグそのものは未パッチのままでした。
この脆弱性は、何千ものソフトウェアプロジェクトに影響を与える可能性がありますが、多くの人がこの状況や対処法についてよく知らないままです。そのため、このたび Secure Code Warriorこの脆弱性がどのような影響を及ぼすかを実際に体験し、この根強いバグのメカニズムを理解することで、あなたのアプリケーションをより良く保護することができます。
今すぐシミュレーションミッションを体験してください。
脆弱性:tarファイル抽出時のパストラバーサル
パスまたはディレクトリのトラバーサルは、未分析のユーザー入力がファイルパスの構築に使用された場合に発生し、攻撃者がファイルへのアクセスや上書き、さらには任意のコードを実行することを可能にします。
この脆弱性は、Pythonのtarfileモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる1つのファイルです。これは、複数のファイルをそのメタデータとともにパッケージ化したもので、通常、.tar.gzまたは.tgzという拡張子を持っていることで認識されます。アーカイブ内の各メンバーはTarInfoオブジェクトで表すことができ、ファイル名、変更時間、所有者などのメタデータを含んでいます。
リスクは、アーカイブが再び取り出される可能性があることに起因する。
展開する際、各メンバーには書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合することで作成される。

このパスが作成されると、そのパスは tarfile.extractまたは tarfile.extractall関数に渡され,抽出が行われます。

ここで問題となるのは、ファイル名のサニタイズが行われていないことです。攻撃者は、ドット・スラッシュ(../)のようなパス・トラバーサル文字を含むようにファイル名を変更し、ファイルが意図したディレクトリの外にトラバースして、任意のファイルを上書きすることができます。これは最終的にリモートでのコード実行につながり、悪用される可能性があります。
この脆弱性は、特定する方法を知っていれば、他のシナリオでも出現します。Python の tar ファイルの取り扱いに加えて、zip ファイルの抽出にも脆弱性が存在します。これは、Python 以外の言語でも顕在化しているzip slip 脆弱性のような別の名前で知られているかもしれません!
リスクを軽減する方法は?
この脆弱性は何年も前から知られていたにもかかわらず、Pythonのメンテナは、抽出機能が想定通りに動作していると考えています。この場合、"バグではなく、機能だ "と言う人もいるかもしれません。残念ながら、開発者は未知のソースからtarやzipファイルを展開することを常に避けることはできません。安全な開発手法の一部として、パストラバーサル脆弱性を防ぐために信頼できない入力をサニタイズすることは、開発者次第です。
Pythonで安全なコードを書き、リスクを軽減する方法についてもっと知りたいですか?
Pythonの課題を無料でお試しいただけます。
コーディングガイドラインを無料で入手したい場合は、Secure Code Coachをチェックして、セキュアコーディングの実践に役立ててください。


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

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のtarfileモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる1つのファイルです。これは、複数のファイルをそのメタデータとともにパッケージ化したもので、通常、.tar.gzまたは.tgzという拡張子を持っていることで認識されます。アーカイブ内の各メンバーはTarInfoオブジェクトで表すことができ、ファイル名、変更時間、所有者などのメタデータを含んでいます。
リスクは、アーカイブが再び取り出される可能性があることに起因する。
展開する際、各メンバーには書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合することで作成される。

このパスが作成されると、そのパスは tarfile.extractまたは tarfile.extractall関数に渡され,抽出が行われます。

ここで問題となるのは、ファイル名のサニタイズが行われていないことです。攻撃者は、ドット・スラッシュ(../)のようなパス・トラバーサル文字を含むようにファイル名を変更し、ファイルが意図したディレクトリの外にトラバースして、任意のファイルを上書きすることができます。これは最終的にリモートでのコード実行につながり、悪用される可能性があります。
この脆弱性は、特定する方法を知っていれば、他のシナリオでも出現します。Python の tar ファイルの取り扱いに加えて、zip ファイルの抽出にも脆弱性が存在します。これは、Python 以外の言語でも顕在化しているzip slip 脆弱性のような別の名前で知られているかもしれません!
リスクを軽減する方法は?
この脆弱性は何年も前から知られていたにもかかわらず、Pythonのメンテナは、抽出機能が想定通りに動作していると考えています。この場合、"バグではなく、機能だ "と言う人もいるかもしれません。残念ながら、開発者は未知のソースからtarやzipファイルを展開することを常に避けることはできません。安全な開発手法の一部として、パストラバーサル脆弱性を防ぐために信頼できない入力をサニタイズすることは、開発者次第です。
Pythonで安全なコードを書き、リスクを軽減する方法についてもっと知りたいですか?
Pythonの課題を無料でお試しいただけます。
コーディングガイドラインを無料で入手したい場合は、Secure Code Coachをチェックして、セキュアコーディングの実践に役立ててください。

最近、セキュリティ研究者のチームが、Pythonのtarファイル抽出機能における15年前のバグを発見したと発表しました。この脆弱性は2007年に初めて公開され、CVE-2007-4559として追跡されました。Pythonの公式ドキュメントに注意書きが追加されましたが、バグそのものは未パッチのままでした。
この脆弱性は、何千ものソフトウェアプロジェクトに影響を与える可能性がありますが、多くの人がこの状況や対処法についてよく知らないままです。そのため、このたび Secure Code Warriorこの脆弱性がどのような影響を及ぼすかを実際に体験し、この根強いバグのメカニズムを理解することで、あなたのアプリケーションをより良く保護することができます。
今すぐシミュレーションミッションを体験してください。
脆弱性:tarファイル抽出時のパストラバーサル
パスまたはディレクトリのトラバーサルは、未分析のユーザー入力がファイルパスの構築に使用された場合に発生し、攻撃者がファイルへのアクセスや上書き、さらには任意のコードを実行することを可能にします。
この脆弱性は、Pythonのtarfileモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる1つのファイルです。これは、複数のファイルをそのメタデータとともにパッケージ化したもので、通常、.tar.gzまたは.tgzという拡張子を持っていることで認識されます。アーカイブ内の各メンバーはTarInfoオブジェクトで表すことができ、ファイル名、変更時間、所有者などのメタデータを含んでいます。
リスクは、アーカイブが再び取り出される可能性があることに起因する。
展開する際、各メンバーには書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合することで作成される。

このパスが作成されると、そのパスは tarfile.extractまたは tarfile.extractall関数に渡され,抽出が行われます。

ここで問題となるのは、ファイル名のサニタイズが行われていないことです。攻撃者は、ドット・スラッシュ(../)のようなパス・トラバーサル文字を含むようにファイル名を変更し、ファイルが意図したディレクトリの外にトラバースして、任意のファイルを上書きすることができます。これは最終的にリモートでのコード実行につながり、悪用される可能性があります。
この脆弱性は、特定する方法を知っていれば、他のシナリオでも出現します。Python の tar ファイルの取り扱いに加えて、zip ファイルの抽出にも脆弱性が存在します。これは、Python 以外の言語でも顕在化しているzip slip 脆弱性のような別の名前で知られているかもしれません!
リスクを軽減する方法は?
この脆弱性は何年も前から知られていたにもかかわらず、Pythonのメンテナは、抽出機能が想定通りに動作していると考えています。この場合、"バグではなく、機能だ "と言う人もいるかもしれません。残念ながら、開発者は未知のソースからtarやzipファイルを展開することを常に避けることはできません。安全な開発手法の一部として、パストラバーサル脆弱性を防ぐために信頼できない入力をサニタイズすることは、開発者次第です。
Pythonで安全なコードを書き、リスクを軽減する方法についてもっと知りたいですか?
Pythonの課題を無料でお試しいただけます。
コーディングガイドラインを無料で入手したい場合は、Secure Code Coachをチェックして、セキュアコーディングの実践に役立ててください。

以下のリンクをクリックし、この資料のPDFをダウンロードしてください。
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のtarfileモジュールに存在します。tar(テープアーカイブ)ファイルは、アーカイブと呼ばれる1つのファイルです。これは、複数のファイルをそのメタデータとともにパッケージ化したもので、通常、.tar.gzまたは.tgzという拡張子を持っていることで認識されます。アーカイブ内の各メンバーはTarInfoオブジェクトで表すことができ、ファイル名、変更時間、所有者などのメタデータを含んでいます。
リスクは、アーカイブが再び取り出される可能性があることに起因する。
展開する際、各メンバーには書き込むためのパスが必要です。この場所は、ベースパスとファイル名を結合することで作成される。

このパスが作成されると、そのパスは tarfile.extractまたは tarfile.extractall関数に渡され,抽出が行われます。

ここで問題となるのは、ファイル名のサニタイズが行われていないことです。攻撃者は、ドット・スラッシュ(../)のようなパス・トラバーサル文字を含むようにファイル名を変更し、ファイルが意図したディレクトリの外にトラバースして、任意のファイルを上書きすることができます。これは最終的にリモートでのコード実行につながり、悪用される可能性があります。
この脆弱性は、特定する方法を知っていれば、他のシナリオでも出現します。Python の tar ファイルの取り扱いに加えて、zip ファイルの抽出にも脆弱性が存在します。これは、Python 以外の言語でも顕在化しているzip slip 脆弱性のような別の名前で知られているかもしれません!
リスクを軽減する方法は?
この脆弱性は何年も前から知られていたにもかかわらず、Pythonのメンテナは、抽出機能が想定通りに動作していると考えています。この場合、"バグではなく、機能だ "と言う人もいるかもしれません。残念ながら、開発者は未知のソースからtarやzipファイルを展開することを常に避けることはできません。安全な開発手法の一部として、パストラバーサル脆弱性を防ぐために信頼できない入力をサニタイズすることは、開発者次第です。
Pythonで安全なコードを書き、リスクを軽減する方法についてもっと知りたいですか?
Pythonの課題を無料でお試しいただけます。
コーディングガイドラインを無料で入手したい場合は、Secure Code Coachをチェックして、セキュアコーディングの実践に役立ててください。
始めるためのリソース
セキュア・バイ・デザインベストプラクティスの定義、開発者の能力向上、予防的セキュリティ成果のベンチマーク
このリサーチペーパーでは、Secure Code Warrior 共同設立者であるピーテル・ダニュー(Pieter Danhieux)氏とマティアス・マドゥ(Matias Madou)博士、そして専門家であるクリス・イングリス(Chris Inglis)氏(元米国サイバーディレクター、現パラディン・キャピタル・グループ戦略顧問)、デヴィン・リンチ(Devin Lynch)氏(パラディン・グローバル・インスティテュート・シニアディレクター)が、CISO、アプリケーション・セキュリティ担当副社長、ソフトウェア・セキュリティの専門家など、企業のセキュリティ・リーダー20人以上への詳細なインタビューから得られた主な知見を明らかにします。
セキュリティ スキルのベンチマーク: 企業におけるセキュアな設計の合理化
セキュアバイデザイン(SBD)構想の成功に関する有意義なデータを見つけることは、非常に困難である。CISO は、セキュリティプログラム活動の投資収益率(ROI)とビジネス価値を、従業員レベルと企業レベルの両方で証明しようとすると、しばしば困難に直面します。言うまでもなく、企業にとって、現在の業界標準に対して自社の組織がどのようにベンチマークされているかを把握することは特に困難です。大統領の国家サイバーセキュリティ戦略は、関係者に「デザインによるセキュリティとレジリエンスを受け入れる」ことを求めている。セキュアバイデザインの取り組みを成功させる鍵は、開発者にセキュアなコードを保証するスキルを与えるだけでなく、規制当局にそれらのスキルが整っていることを保証することである。本プレゼンテーションでは、25万人以上の開発者から収集した社内データ、データに基づく顧客の洞察、公的研究など、複数の一次ソースから得られた無数の定性的・定量的データを紹介します。こうしたデータ・ポイントの集積を活用することで、複数の業種におけるセキュア・バイ・デザイン・イニシアチブの現状をお伝えすることを目的としています。本レポートでは、この領域が現在十分に活用されていない理由、スキルアッププログラムの成功がサイバーセキュリティのリスク軽減に与える大きな影響、コードベースから脆弱性のカテゴリーを排除できる可能性について詳述しています。
始めるためのリソース
明らかになった:サイバー業界はセキュア・バイ・デザインをどのように定義しているか
最新のホワイトペーパーでは、当社の共同設立者であるピーテル・ダニュー(Pieter Danhieux)氏とマティアス・マドゥ(Matias Madou)博士が、CISO、AppSecリーダー、セキュリティ専門家を含む20人以上の企業セキュリティリーダーと対談し、このパズルの重要なピースを見つけ出し、Secure by Design運動の背後にある現実を明らかにしました。セキュア・バイ・デザインは、セキュリティ・チーム全体で共有された野心ですが、共有されたプレイブックはありません。