Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2020-0022 — Forschungs-Repository, das BlueFrag (CVE-2020-0022) Android-Bluetooth-Heap-Overflow-Experimente dokumentiert, einschließlich GDB-Crash-Analyse und memcpy-Exploitation-Versuchen. | Kitploit
Tools/GitHubGitHub/idkwim/cve-2020-0022
Android-SicherheitBluetooth-SicherheitSchwachstellenanalyseExploitationMobile SicherheitPapers & ForschungBinary-Exploitation
GitHubidkwim/cve-2020-0022

CVE-2020-0022

Forschungs-Repository, das BlueFrag (CVE-2020-0022) Android-Bluetooth-Heap-Overflow-Experimente dokumentiert, einschließlich GDB-Crash-Analyse und memcpy-Exploitation-Versuchen.

Repository anzeigen
822vor 6 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2020-0022

Anscheinend haben Android 9-6 ein ähnliches Bluetooth-Subsystem, Android 5 und 4 sind unterschiedlich.

Android 9.0

BlueFrag-Experimente

Patch:

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

Unten habe ich die gepatchte Bedingung erreicht. OK, ich denke, ich habe es verstanden, aber irgendwie kann ich den Prozess nicht zum Absturz bringen.

hmmmm

BlueFrag

Tatsächlich ist es gelungen, einen vorzeichenbehafteten Längenwert an memcpy() zu übergeben``` 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

Still kein Absturz, aber sollte.....

Im obigen Beispiel, mit einer memcpy-Größe von -3, wird dieser Wert als vorzeichenlose Ganzzahl (4294967293) interpretiert und das memcpy läuft weiter, bis ein Seitenfehler aufgrund von nicht zugeordnetem Speicher auftritt und der Prozess beendet werden sollte.

Mein Telefon in 32 Bit, vielleicht liegt es daran. Mobiltelefon ist Samsung S3 Neo+. Verwendet jemalloc zumindest bei Android 9.0-Tests.```
¯\_(ツ)_/¯

Nun, es sieht korrekt aus

GDB log memcpy

Ich vermute, du musst viele Verbindungen öffnen (für einige Zeit) und irgendwie viel Speicher allokieren, bevor es abstürzt.

Wir schieben hier 4294967293, fast 4GB``` ¯_(ツ)_/¯

Swing und leommxj entdeckten dieses merkwürdige Verhalten von 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
(Übersetzt aus dem Chinesischen)

Es betrifft möglicherweise auch Android 9. Werde es überprüfen.

Tatsächlich kann es sein, dass dies nicht im Prozesskontext läuft, sondern möglicherweise im Interrupt-Kontext. Dann könnte der Fehler
verborgen bleiben.
Tool herunterladen