Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-39973-PoC — CVE-2026-39973(apktool)の概念実証(ビルダー) | Kitploit
ツール/GitHubGitHub/frawlaboy/cve-2026-39973-poc
脆弱性分析エクスプロイトウェブアプリケーション悪用論文と研究学習と教育
GitHubfrawlaboy/cve-2026-39973-poc

CVE-2026-39973-PoC

CVE-2026-39973(apktool)の概念実証(ビルダー)

リポジトリを見る
13ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-39973-PoC

これは、CVE-2026-39973 用の小さな C# APK ファイルビルダーです。

クレジット

  • OnlyToxi - パスに関する支援(今後も支援予定)と精神的サポート。
  • iBotPeaches/Apktool - ドキュメントとパース処理。

免責事項

  • これは**概念実証(PoC)**であり、教育目的のみで作成されています!
  • このコードやドキュメントの作成にあたり、AIは使用されていません(シリアライゼーションに関する小さな質問を除く)。
  • 私の知識は限られています。これは私にとって初めての CVE PoC です。ドキュメントには誤りや不完全な箇所がある可能性があります。
  • 急いでいて睡眠不足だったため、コードは読みにくいかもしれません(すみません)。

CVE-2026-39973

CVE-2026-39973 は、GitHub リポジトリ iBotPeaches/Apktool 内のパストラバーサル(ディレクトリトラバーサル)の脆弱性であり、バージョン 3.0.1 に影響します。

攻撃者は独自のリソースを作成し、エントリのタイプ内に ..\ シーケンスを注入することで、~/.bashrc または Windows のスタートアップパスに任意のファイルを書き込むことができます。

セキュリティリグレッション

この脆弱性は、コミット e10a045(PR #4041)におけるセキュリティリグレッションに起因します。このコミットは、ResFileDecoder.java から BrutIO.detectPossibleDirectoryTraversal() を削除しています。

変更前の ResFileDecoder.java#L103-L109:

root@kitploit:~
String outResPath = entry.getTypeName() + entry.getConfig().getQualifiers() + "/" + entry.getName();
if (BrutIO.detectPossibleDirectoryTraversal(outResPath)) {
    LOGGER.warning("Potentially malicious file path: " + outResPath + ", using instead: " + inResPath);
    outResPath = inResPath;
} else if (!ext.isEmpty()) {
    outResPath += "." + ext;
}

変更後の ResFileDecoder.java#L103-L104:

root@kitploit:~
String outResPath = entry.getTypeName() + entry.getConfig().getQualifiers() + "/" + entry.getName()
    + (ext.isEmpty() ? "" : "." + ext);

このコミットは、entry.name が事前にチェックされている(ResEntrySpec コンストラクタ)ため、出力パス全体に対する「無駄な」チェックを削除しました。

しかし、作者は、悪意のある resources.arsc を作成することで、エントリのタイプ名がパストラバーサルの対象になり得ることを見落としていました。

Resources.arsc

resources.arsc は、リソースデータ、パス、タイプ名などを含むファイルです。 Apktool を悪用するためにタイプ名を変更したり、resource.arsc ファイルを作成したりするために必要なものがすべて格納されています。 その頻度にもかかわらず、シリアライゼーションに関する貧弱だが満足できるドキュメントしか見つけられませんでした。

この時点で、apktool のドキュメントを読むことを強くお勧めします。

このアプリケーション専用に resources.arsc ファイルを構築する必要があるため、私は直接 Apktool をベースにし始めました。

インターネットからランダムな APK ファイルをダウンロードし、7zip で開きました。次に resources.arsc ファイルを抽出し、Apktool のパーサーコードとともにデータ構造の調査を開始しました。 その後、..\ シーケンスと Windows スタートアップフォルダのパスを持つ 1 つの ResType を持つ ResTable と ResPackage を書き込む、小さな C# ビルダーを作成しました。また、ペイロードファイルである 1 つのエントリも含まれています。

ツールをダウンロード