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
Tools/GitHubGitHub/eddinos2/cve-2026-28956-jxl-messages-surface
iOS-SicherheitSchwachstellenanalyseExploitationMalware-AnalyseMobile SicherheitPapers & Forschung
GitHubeddinos2/cve-2026-28956-jxl-messages-surface

CVE-2026-28956-jxl-messages-surface

JPEG XL auto-decodes im iOS-Messages-Vorschau-Pfad — Delivery-Surface-Fund für CVE-2026-28956 (AppleJPEGXL), mit Patch-Diff-Zuordnung (libjxl 0.10.4->0.10.5) und einem ehrlichen Zuverlässigkeitscheck des öffentlichen PoC.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
vor 1 TagNoch nicht geprüft
Teilen

JPEG XL dekodiert automatisch im iOS-Messages-Vorschau-Pfad

Ein Delivery-Surface-Fund für CVE-2026-28956 (AppleJPEGXL), plus die Patch-Diff-Zuordnung und ein ehrlicher Realitätscheck zum öffentlichen PoC.

TL;DR — Die allgemeine Annahme (und auch unsere eigene frühere Messung mit EXR) ist, dass iOS Messages Nicht-JPEG/PNG/HEIC-Anhänge als generische Datei-Blobs rendert, ohne sie zu dekodieren. JPEG XL durchbricht diese Annahme: Ein .jxl-Anhang wird im Messages-Vorschau-Pfad an den Dekoder übergeben. Wir haben beobachtet, dass ImageIO innerhalb von MobileSMS beim Empfang versucht, JXL-Inhalte zu dekodieren, ohne jegliche Benutzerinteraktion. Das macht AppleJPEGXL zu einer aktiven Zero-Click-Angriffsfläche, anders als Formate der EXR-Klasse.

Inhalt

DateiInhalt
PROBE_RESULT.mdDie Delivery-Surface-Sonde: Aufbau, Sender-Nachweise, Geräte-Syslog mit den Dekodierungsversuchen, Bewertungsstufen
DIFF.mdPatch-Diff iOS 26.4.2 vs. 26.5: CVE-2026-28956 AppleJPEGXL zugeordnet (libjxl 0.10.4 → 0.10.5); CVE-2026-43661-Kandidaten in ImageIO
pocs/poc.jxlDer öffentliche 149-Byte-Trigger (aus dem Writeup des Autors), verwendet als Sonden-Payload
pocs/poc_brand.heic, pocs/poc_mif1.heicDieselben Bytes mit geändertem ftyp-Brand auf heic / mif1 — zum Testen von Content-Sniffing vs. deklarierter UTI
pocs/jxldec.mMinimaler CGImageSource-Dekodierungs-Harness (Cross-Compile für iOS), verwendet für On-Device-Dekodierungstests

Der Fund

Drei Anhänge wurden über iMessage (blauer Transport, byte-intakt laut Sender-chat.db) an ein physisches iPhone mit iOS 18.6.2 gesendet, während idevicesyslog die Dekodierungsflächen beobachtete:

  1. poc.jxl (UTI public.jpeg-xl)
  2. poc_brand.heic (gleiche Bytes, Brand heic)
  3. poc_mif1.heic (Brand mif1)

Geräte-Log (MobileSMS):

root@kitploit:~
MobileSMS(ImageIO): createImageAtIndex:2093: *** ERROR: createImageAtIndex[0] - 'JXL ' - failed to create image [-58]
MobileSMS(ImageIO): CGImageSourceCreateImageAtIndex:5081: *** ERROR: ... 'JXL ' ... [-58]

Zwei Dinge fallen auf:

  • Der Dekoder lief überhaupt. Zum Vergleich: Ein EXR-Anhang im selben Aufbau erzeugt keine Dekodierungsaktivität — Messages zeigt ein Dateisymbol und ruft den Dekoder nie auf. JXL wird als Bild behandelt, das sich eine Vorschau-Dekodierung wert ist.
  • Content-Sniffing schlägt den deklarierten Brand. Die .heic-gebrandeten Varianten wurden ebenfalls per Magic-Bytes als 'JXL ' erkannt und an den JXL-Dekoder weitergeleitet, sodass ein .heic-Dateiname den Parse nicht zum HEIF-Reader lenkt — und umgekehrt erreicht ein schlichter .jxl-Anhang bereits AppleJPEGXL. Für die Zustellung ist keine Container-Trickserei nötig.

Die -58-Fehler stammen vom älteren (iOS 18.6.2) Dekoder, der die fehlerhafte duplizierte jxlc-Struktur ablehnt; der Punkt ist, dass der Parse stattfand.

Der Realitätscheck (ehrlich)

Dass die Fläche offen ist, macht den öffentlichen PoC noch nicht zu einem funktionierenden Zero-Click:

  • Der 149-Byte-öffentliche Trigger crasht nicht auf iOS 26.4.2, iOS 18.6.2 oder macOS 26.3.1 über einen nackten CGImageSource-Dekodierungslauf (10/10 Läufe unter MallocScribble, plus eine 8× duplizierte Trigger-Variante).
  • Eine Reihe zweckgebauter feindlicher Frame-Dateien (gefertigte frame_origin- Offsets, die auf den Low-Memory-Render-Pipeline-Pfad zielen, den der eigentliche Upstream-Fix härtet — libjxl PR #4495) dekodieren ebenfalls sauber auf iOS 26.4.2.
  • Das eigene Writeup des Autors merkt an, dass seine Root-Cause-Analyse unvollständig sein könnte und seine Crash-Belege in macOS Safari mit einer Interpose-Bibliothek erzeugt wurden.

Also: Zustellung 0-Click ist bewiesen; zuverlässiges Triggern nicht. Der von Apple gepatchte Bug ist real (siehe DIFF.md — die Plane/Float-Kopie der Low-Memory-Pipeline wurde neu geschrieben und gehärtet), aber ihn in eine deterministische Speicherkorruption auf iOS zu verwandeln, ist ein Weaponization-Problem, das das öffentliche Artefakt nicht löst.

Warum trotzdem veröffentlichen

Jeder, den wir gefragt haben (und unser eigenes EXR-Experiment), nahm an, dass Nicht-JPEG/PNG/HEIC-Anhänge in der Messages-Vorschau nicht dekodiert werden. JXL tut es. Das ist eine konkrete, testbare Erweiterung der Zero-Click-Angriffsfläche, und es bedeutet, dass AppleJPEGXL-Bugs mit Blick auf iMessage-Zustellung gejagt werden sollten, nicht nur auf WebContent.

Für Bildungs- und defensive Forschungszwecke. Nur auf Hardware testen, die dir gehört.

Tool herunterladen