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-2026-43499 — PD2229B的43499(ghostlock)可行性研究 | Kitploit
Tools/GitHubGitHub/catxiaoshi/cve-2026-43499
Android-SicherheitPrivilege EscalationSchwachstellenanalyseExploitationReverse EngineeringMobile SicherheitBinary-Exploitation
GitHubcatxiaoshi/cve-2026-43499

cve-2026-43499

PD2229B的43499(ghostlock)可行性研究

Repository anzeigen
24vor 1 MonatNoch 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

Zusammenfassung des Exploit-Fehlschlags von GhostLock auf PD2229 (SM8475, 5.10.233 GKI)

1. Schwachstellen- und Gerätefakten

1.1 Grundlegende Informationen zu CVE-2026-43499 (GhostLock)

ElementWert
SchwachstellentypUse-After-Free auf dem Stack im rt_mutex / futex-PI-Pfad
Eingeführt in VersionLinux 2.6.39-rc1 (Mai 2011, Commit 8161239a8bcc)
Behoben in VersionHauptlinie 7.1 (Commit 3bfdc63936dd), stabile Zweige: 6.1.175 / 6.6.140 / 6.12.86 / 6.18.27 / 7.0.4
VoraussetzungenCONFIG_FUTEX_PI=y (standardmäßig in Mainstream-Kerneln aktiviert)
CVSS7.8 Hoch
Exploit-Stabilität97 % in der ursprünglichen NebuSec-Kette, Root in ca. 5 Sekunden
kernelCTF-Belohnung92.337 USD

Betroffener Kernel-Bereich:

  • 2.6.39 ≤ Linux < 6.1.175 ✅ Betroffen
  • 6.2 ≤ Linux < 6.6.140 ✅ Betroffen
  • 6.7 ≤ Linux < 6.12.86 ✅ Betroffen
  • 6.13 ≤ Linux < 6.18.27 ✅ Betroffen
  • 6.19 ≤ Linux < 7.0.4 ✅ Betroffen
  • Android GKI 5.10 ist in keinem der Fix-Zweige enthalten → 5.10.233 auf PD2229 theoretisch betroffen

1.2 PD2229-Gerätetests

ElementWert
SoCQualcomm SM8475 (Snapdragon 8 Gen 1 Plus)
Kernel-Version5.10.233-gki-g6e61de9f5b58 #1 SMP PREEMPT (24. Nov. 2025)
Android-Version15 (OriginOS 5)
Build-Zeitpunkt25.11.2025
Android-Patchlevel01.11.2025
CONFIG_FUTEX_PIy ✅
CONFIG_UNMAP_KERNEL_AT_EL0y (KPTI aktiviert)
kptr_restricterzwungen
CONFIG_IO_URINGy ✅ (durch vmlinux-Symbole bestätigt, seccomp blockiert io_uring_setup nicht)

2. Ideale Exploit-Kette vs. tatsächlicher Fortschritt auf PD2229

2.1 Ursprüngliche NebuSec-Kette (erfolgreich auf x86_64 / Pixel 10)

1. KASLR-Umgehung     → prefetch timing / PR_SET_MM_MAP auxv
2. UAF-Auslösung      → Drei-Thread-PI-Abhängigkeits-Deadlock → FUTEX_CMP_REQUEUE_PI gibt -EDEADLK zurück
3. Stack-Recycling    → PR_SET_MM_MAP kopiert auxv in den Waiter-Stackframe
4. rb_erase begrenztes Schreiben → Überschreiben von inet6_protos[IPPROTO_UDP]
5. CEA + ROP          → Kontrollfluss-Übernahme
6. core_pattern-Flip  → Root-Shell (97 % Erfolgsrate)

2.2 Tatsächlicher Fortschritt der einzelnen Phasen auf PD2229

PhaseStatusBeschreibung
1. KASLR-Umgehung✅ Implementiertperf_event_open + Callchain-Sampling-Seitenkanal (gleiche Methode wie bei der OPPO Find X6 Pro 5.15.149-Anpassung)
2. UAF-Auslösung✅ ImplementiertDrei-Thread-PI-Deadlock erfolgreich, FUTEX_CMP_REQUEUE_PI gibt -EDEADLK zurück
3. Stack-Recycling-Primitive❌ Architektonischer FehlschlagStackframes aller bekannten Syscalls überlappen nicht mit dem Waiter (Details in Abschnitt 3)
4. rb_erase begrenztes Schreiben❌ BlockiertVoraussetzungen nicht erfüllt
5. inet6_protos-Überschreiben❌ Nicht begonnenHängt von Phase 4 ab
6. ROP / Kontrollfluss-Übernahme❌ Nicht begonnenHängt von Phase 5 ab
7. Root-Shell❌ Nicht begonnenHängt von Phase 6 ab

3. Ergebnisse der erschöpfenden Suche nach Stack-Recycling-Primitiven (PD2229-Tests)

3.1 Wichtige Berechnungen zum Stackframe-Layout

Gesamttiefe des futex-Pfads:
  __arm64_sys_futex    0x90
  + do_futex           0xc0
  + futex_wait_requeue_pi  0x1b0
  = 0x300
Waiter-Position = SYS_SP - 0x300 + 0x20 = SYS_SP - 0x2e0

pselect-Pfad:
  core_sys_select Stackframe 0x1c0, stack_fds bei sp+0x50
  Überdeckungsbereich: ab SYS_SP - 0x1c0 + 0x50 = SYS_SP - 0x170
  Abstand zum Waiter (SYS_SP - 0x2e0) beträgt 0x170 (368 Bytes) → keine Überlappung

3.2 17 getestete Stack-Schreibmethoden

#MethodeSyscallPD2229-ErgebnisHauptfehlergrund
1stamp_prctlPR_SET_MM_MAP❌ EPERMVon Android hart blockiert
2stamp_pselectpselect6 (NFDS=320)❌ Keine ÜberlappungWaiter liegt 120B unterhalb von fd_set
3stamp_pselectpselect6 (NFDS>336)❌ Heap-Allokationkvmalloc-Pfad
4stamp_socketMCAST_JOIN_SOURCE_GROUP❌ Unzureichende ÜberdeckungSchreibt nur lock-Feld
5stamp_sendmsgsendmsg❌ 80B vom Waiter entferntStackframe 0x90 nicht tief genug
6stamp_sendmmsgsendmmsg❌ 112B vom Waiter entferntStackframe unzureichend
7stamp_recvmmsgrecvmmsg❌ Löscht task/lock0x1d0-Stackframe zerstört kritische Zeiger
8stamp_process_vmprocess_vm_writev❌ Keine ÜberlappungSub-Thread-Stack separat zugewiesen
9stamp_keyctlKEYCTL_INSTANTIATE_IOV❌ EOPNOTSUPPSyscall nicht unterstützt + Stackframe 0x40
10stamp_tcpTCP_ZEROCOPY_RECEIVE❌ Stackframe unzureichendGeschätzte Tiefe nicht ausreichend
11stamp_futexFUTEX_CMP_REQUEUE_PI rekursiv❌ Logisch nicht machbarZerstört UAF-Fenster
12binder ioctlBINDER_WRITE_READ❌ EACCESShell hat keine /dev/binder-Berechtigung
13pollpoll❌ Heap-Allokationpollfd liegt auf dem Heap
14epoll_waitepoll_wait❌ Frame zu flachStackframe 0xE0
15sched_setattrsched_setattr❌ Tiefe unzureichendStackframe 0xb0
16timerfd_settimetimerfd_settime❌ Kein Stack-KopierenKein großer Stack-Puffer
17io_uring_registerIORING_REGISTER_*❌ Doppelter Fehlschlag①Stackframe nur 0xF0, copy_from_user-Ziel fest bei sp+0x8 (424 Bytes Differenz zum Waiter bei sp+0x1D0); ②Obwohl io_uring_setup nicht von seccomp blockiert wird (gibt EFAULT statt ENOSYS zurück), passt das Stack-Layout nicht

17/17 alle fehlgeschlagen.

3.3 Grundursache des Fehlschlags

Das vom SM8475-5.10-GKI-Compiler (PGO + LTO + BOLT) auf PD2229 erzeugte Stack-Layout führt dazu, dass stack_fds von core_sys_select und rt_mutex_waiter von futex_wait_requeue_pi architektonisch nicht überlappen. Dies ist eine objektive, vom Compiler bestimmte Tatsache und kein Problem der Exploit-Technik.

Das JoinChang-Repository stellt klar: "The pselect stack overlay only works when the freed rt_mutex_waiter lands within the user-controllable region of the stack_fds buffer" — PD2229 erfüllt diese Bedingung nicht.


4. Vergleichende Analyse öffentlicher Referenz-Repositories

NebuSec/CyberMeowfia — Ursprüngliches Exploit-Framework

  • Repository: https://github.com/NebuSec/CyberMeowfia
  • Ziel: x86_64 Linux / Pixel 10 (6.x GKI)
  • Stack-Recycling: PR_SET_MM_MAP kopiert auxv auf den Kernel-Stack
  • Erfolgsrate: 97 %, ca. 5 Sekunden bis zur [Root-Shell]
  • PD2229-Anwendbarkeit: ❌ PR_SET_MM_MAP wird auf Android mit EPERM blockiert

JoinChang/ghostlock-oneplus — OnePlus-Bootloader-Entsperrung (Jailbreak)

  • Repository: https://github.com/JoinChang/ghostlock-oneplus
  • Verifizierte Geräte:
    • OnePlus Ace 6T (PLR110, SM8845) — 6.12.38 GKI ✅
    • OnePlus 15 (PLK110, SM8845) — 6.12.23 GKI ✅
  • Technische Kernpunkte:
    • Automatische Offset-Extraktion: kallsyms (28) + BTF (57) + abgeleitet (9) + Konstanten (12) = 103/103
    • pselect-Stack-Overlay, SP-Differenz = -64
    • PSELECT_SHIFT = -2
    • Exploit-Kette: futex-UAF → gefälschter Waiter → pselect kontrolliert Stack → rb_erase begrenztes Schreiben → selinux_state.enforcing=0 → cred mit init_cred überschrieben
  • Ausdrücklich als nicht machbar erklärt: "Not Feasible (stack layout incompatible)" — gilt nur für Kernel, bei denen pselect stack_fds und Waiter überlappen
  • PD2229-Anwendbarkeit: ❌ Kernel-Generation passt nicht (6.12 vs. 5.10), und Stack-Layout überlappt nicht

p2p3p/GhostLock-for-OnePlus — Vollständiger OnePlus-6.12-Exploit

  • Repository: https://github.com/p2p3p/GhostLock-for-OnePlus
  • Verifiziert: OnePlus Ace 6T (SM8845, 6.12.38) ✅
  • PD2229-Anwendbarkeit: ❌ Wie JoinChang, Kernel-Generation passt nicht
Tool herunterladen