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-65349 — Proof-of-Concept für einen Out-of-Bounds-Write in XNU's vfs_attr_pack_internal (getattrlist) unter iOS 26.6, der Kernel-Heap-Korruption demonstriert und Hinweise zur Ausnutzung für das Fälschen von PAC-Pointern enthält. | Kitploit
Tools/GitHubGitHub/bytev0rtex/cve-2026-65349
iOS-SicherheitSchwachstellenanalyseExploitationReverse EngineeringBinary-Exploitation
GitHubbytev0rtex/cve-2026-65349

CVE-2026-65349

Proof-of-Concept für einen Out-of-Bounds-Write in XNU's vfs_attr_pack_internal (getattrlist) unter iOS 26.6, der Kernel-Heap-Korruption demonstriert und Hinweise zur Ausnutzung für das Fälschen von PAC-Pointern enthält.

Repository anzeigen
1vor 9h 40mNoch 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-2026-65349 — Out-of-Bounds-Schreibzugriff in vfs_attr_pack_internal

Komponente: XNU VFS — vfs_attr_pack_internal (getattrlist-Syscall)
Betroffen: iOS / iPadOS 26.6 (23G71) und früher
Behoben in: iOS / iPadOS 26.6.1 (23G83)
Typ: Out-of-Bounds-Schreibzugriff auf den Puffer des Aufrufers
Auswirkung: Kernel-Heap-Korruption; aus dem Kernel-Kontext (nach Kernel-Lese-/Schreibzugriff) ermöglicht das Schreiben eines PAC-signierten Zeigers in einen vom Angreifer kontrollierten Puffer


Danksagungen

Entdeckt von einem anonymen Forscher
(laut Apple-Sicherheitshinweis — iOS 26.6.1)


Grundursache

vfs_attr_pack_internal iteriert über die angeforderte Attribut-Bitmap und schreibt jedes Attribut sequenziell in den Puffer des Aufrufers. Es wird nicht geprüft, ob der laufende Ausgabe-Offset bufsize überschritten hat, bevor Attribut-Slot 51 () geschrieben wird.

SETXATTR_SLOT

Bei einer Datei mit einem 16 Zeichen langen Namen beträgt die vollständige gültige Attributausgabe 0x1a4 (420) Bytes. Slot 51 beginnt bei Offset 0x198 (408 Bytes). Wenn der Aufrufer einen Puffer bereitstellt, der kleiner als 0x198 + 8 ist, schreibt der Kernel 8 Bytes über das Ende des Puffers hinaus:

root@kitploit:~
; vfs_attr_pack_internal (betroffener Pfad, 26.6 / 23G71)
; Slot-51-Schreibzugriff — keine Grenzprüfung vor dem Speichern
str  x_attr_data, [buf + 0x198]   ; OOB, wenn bufsize < 0x198 + 8

Attribut-Bitmap

Die gültigen Attributmasken, verifiziert durch On-Device-Sonde (getattrlist bei einem 16 Zeichen langen Dateinamen, iOS 26.6):

FeldMaske
commonattr0xffe7ffff (Bits 19, 20 sind auf diesem Kernel ungültig)
fileattr0x0000363f
forkattr0xffffe003

Mit diesen Masken bei einem 16 Zeichen langen Dateinamen beträgt die Gesamtausgabe 0x1a4 Bytes. Der OOB tritt bei Slot 51 (buf+0x198) auf, sobald bufsize < 0x1a0.


iOS-26-Exploitation-Hinweise

Unter iOS 26 verhindert die KHEAP_TEMP-Isolation, dass der OOB-Schreibzugriff aus dem Userspace heraus benachbarte Heap-Allokationen auf nützliche Weise direkt korrumpiert. Der Fehler wird in dieser Forschung als nur Kernel-Heap eingestuft:

  • Aus dem Userspace: Der OOB-Schreibzugriff trifft den eigenen User-Stack/Heap des Aufrufers — beobachtbar, aber ohne zusätzliche Primitive nicht für eine Privilegieneskalation ausnutzbar.
  • Aus dem Kernel-Kontext (nach einer Kernel-Schreibprimitive aus CVE-2026-64788): Schreiben eines PAC-signierten Zeigers in einen Kernel-Puffer über den OOB-Offset, dann Auslösen von vfs_attr_pack_internal von einer kontrollierten Aufrufstelle aus.

In der iOS-26.6-Jailbreak-Kette wird dieser Fehler in der letzten Stufe verwendet, um einen PACIA-gefälschten Zeiger in eine Kernel-Allokation neben dem Puffer des Aufrufers zu schreiben.


PoC-Verhalten

poc_getattrlist_oob.c demonstriert die OOB-Grenze mit drei Aufrufen:

AufrufPuffergrößeErwartetes Ergebnis
164 BytesKernel schreibt 0x1a4 Bytes → OOB bei buf+0x198 (344 B über das Ende hinaus)
20x198 BytesOOB-Schreibzugriff beginnt exakt am Ende des Puffers
30x1a4 BytesExakte gültige Größe → sauberer Erfolg

Der PoC erstellt einen 16 Zeichen langen Dateinamen (/var/root/aaaaaaaaaaaaaaaa) als Testziel, führt alle drei getattrlist()-Aufrufe aus und gibt die Rückgabecodes aus. Ein Kernel-Panic-Protokoll (falls ausgelöst) zeigt einen Fehler bei buf+0x198.


Anforderungen

  • iOS 26.6 (23G71) oder früher
  • Schreibzugriff auf /var/root/ (zum Erstellen der 16-Zeichen-Testdatei; der Pfad kann an einen beliebigen beschreibbaren Speicherort angepasst werden)
  • Keine Berechtigungen erforderlich

Build

root@kitploit:~
# Eigenständige C-Binärdatei — keine Frameworks erforderlich
clang -arch arm64 -o poc poc/poc_getattrlist_oob.c

# Für On-Device:
clang -arch arm64 -isysroot $(xcrun --sdk iphoneos --show-sdk-path) \
      -o poc poc/poc_getattrlist_oob.c
codesign -s "Apple Development" poc

Zeitplan

DatumEreignis
2026-08-17iOS 26.6.1 mit Fix veröffentlicht
2026-08-17Apple veröffentlicht Danksagungen im Sicherheitshinweis

Referenzen

  • Apple-Sicherheitshinweis — iOS 26.6.1
Tool herunterladen