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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2020-0022 — BlueFrag(CVE-2020-0022)Android Bluetoothヒープオーバーフロー実験を記録した研究リポジトリ。GDBクラッシュ解析とmemcpyエクスプロイトの試みを含む。 | Kitploit
ツール/GitHubGitHub/idkwim/cve-2020-0022
AndroidセキュリティBluetoothセキュリティ脆弱性分析エクスプロイトモバイルセキュリティ論文と研究バイナリエクスプロイト
GitHubidkwim/cve-2020-0022

CVE-2020-0022

BlueFrag(CVE-2020-0022)Android Bluetoothヒープオーバーフロー実験を記録した研究リポジトリ。GDBクラッシュ解析とmemcpyエクスプロイトの試みを含む。

リポジトリを見る
8226年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2020-0022

Android 9〜6は同様のBluetoothサブシステムを持っているようで、Android 5と4は異なる。

Android 9.0

BlueFrag 実験

パッチ:

https://android.googlesource.com/platform/system/bt/+/3cb7149d8fed2d7d77ceaa95bf845224c4db3baf

以下でパッチ済みの条件に到達した。OK、理解できたと思うが、なぜかプロセスをクラッシュさせることができない。

うーん

BlueFrag

実際には、memcpy()に符号付き長さの値を渡すことに成功した``` 02-16 01:44:49.096 6423 6471 W bt_hci_packet_fragmenter: reassemble_and_dispatch reassemble_and_dispatch 02-16 01:44:49.096 6423 6471 W bt_hci_packet_fragmenter: reassemble_and_dispatch partial_packet->offset 40 packet->len 304 HCI_ACL_PREAMBLE_SIZE 4
02-16 01:44:49.096 6423 6471 W bt_hci_packet_fragmenter: reassemble_and_dispatch projected_offset 340 partial_packet->len 41
02-16 01:44:49.096 6423 6471 W bt_hci_packet_fragmenter: reassemble_and_dispatch got packet which would exceed expected length of 41. Truncating. 02-16 01:44:49.096 6423 6471 W bt_hci_packet_fragmenter: reassemble_and_dispatch memcpy packet->len 1 packet->offset 4 expr -3
02-16 01:44:49.096 6423 6471 W bt_hci_packet_fragmenter: reassemble_and_dispatch partial_packet->data 0xacb14580 partial_packet->data + partial_packet->offset 0xacb145a8 packet->data 0xa553e110 packet->data + packet->offset 0xa553e114
02-16 01:44:49.097 6423 6469 W bt_hci_packet_fragmenter: fragment_and_dispatch fragment_and_dispatch

まだクラッシュしていないが、するはずだ.....


上記の例では、memcpy サイズが -3 の場合、この値は符号なし整数(4294967293)として解釈され、memcpy は未マップメモリによるページフォールトが発生するまで続行され、プロセスは終了するはずです。

私の携帯は32ビットなので、それが理由かもしれません。モバイルは Samsung S3 Neo+ です。少なくとも Android 9.0 のテストでは jemalloc を使用しています。```
¯\_(ツ)_/¯

正しく見える

GDB log memcpy

クラッシュする前に、多くの接続を(しばらくの間)開き、何らかの方法で大量のメモリを割り当てる必要があるのではないかと疑っています。

ここで 4294967293 をプッシュしています ほぼ4GB``` ¯_(ツ)_/¯

SwingとleommxjはAndroid 8のこの奇妙な挙動を発見しました:

https://translate.google.com/translate?hl=en&sl=auto&tl=en&u=https%3A%2F%2Fbestwing.me%2FAndroid-8.1-memcpy-func.html
(中国語から翻訳)

これはおそらくAndroid 9にも影響します。確認します。

実際には、これはプロセスコンテキストではなく、おそらく割り込みコンテキストで実行される可能性があります。そうであれば、フォールトは隠蔽されるかもしれません。
ツールをダウンロード