Dev News Daily ENDE

Ein Bilddecoder liegt unter Slack, Discourse, Next.js und GitHub

Hacktron hat HEIF Heist veröffentlicht — einen Namen für eine Klasse von Fernangriffen auf Dienste, die vom Angreifer gelieferte HEIF-, HEIC- oder AVIF-Bilder dekodieren. Die Offenlegung steht unter https://heif-heist.com; zu den angeführten Ergebnissen zählen unauthentifizierte Codeausführung in Next.js über die AVIF-Bildoptimierung, authentifizierte Codeausführung auf GitHub Enterprise (CVE-2026-19118) und auf Discourse, Codeausführung in Metas Produktsuite über Bild-Upload, ein Abzug privater OpenAI-Repositories, Codeausführung auf Slack mit Dateizugriff sowie das Abgreifen von Token und AWS-Zugangsdaten in mehreren Anwendungen.

Der Mechanismus ist das Lesenswerte. Die verwundbare Fläche liegt in keiner dieser Anwendungen, sondern in den nativen C- und C++-Decodern darunterlibheif und libde265 —, die indirekt hereinkommen: über Wrapper wie ImageMagick, libvips und Sharp, über Distributionspakete und über vorgefertigte Container-Basisabbilder. Niemand in dieser Kette hat sich zwangsläufig für HEIC entschieden.

Praktisch wird der Angriff durch einen Aufklärungsschritt: Mit präparierten .avif- oder .heic-Dateien lässt sich an einem Upload-Endpunkt die verwendete libheif-Version bestimmen; danach folgt eine auf genau diese Version zugeschnittene Nutzlast — ein n-Day, wenn es einen gibt, sonst ein 0-Day.

Der CVE ist nachprüfbar. Die NVD führt CVE-2026-19118 mit Veröffentlichung am

  1. September, CVSS-3.1-Basiswert 7,5 (hoch): eine Time-of-check-time-of-use-Race-Condition im GitHub Enterprise Server, die einen authentifizierten Nutzer mit Schreibrecht und exaktes Timing gleichzeitiger Uploads voraussetzt, alle Versionen vor 3.22 betrifft und in 3.17.20, 3.18.14, 3.19.11, 3.20.7 und 3.21.5 behoben ist.
Ein Bilddecoder liegt unter Slack, Discourse, Next.js und GitHub
Ein Bilddecoder liegt unter Slack, Discourse, Next.js und GitHub — Dev News Daily

Was das bedeutet

Die Frage lautet nicht „unterstützen wir HEIC", sondern „was dekodiert die Dateien, die wir annehmen". Eine Anwendung, die Bild-Uploads entgegennimmt und ein Vorschaubild erzeugt, hat einen nativen Decoder im Prozess oder im Container — ausgewählt von einer Wrapper-Bibliothek, anhand der Dateisignatur und nicht anhand der Endung. .heic im Formular abzulehnen hilft nicht, wenn der Decoder den Inhalt prüft.

Die Versionsbestimmung über den Upload-Endpunkt macht aus einem Fehler eine Kampagne. Ohne sie rät ein Angreifer und bringt lautstark Dinge zum Absturz. Mit ihr wird der Exploit erst gewählt, nachdem sich das Ziel selbst identifiziert hat — deshalb wird aus einer Klasse von Speicherfehlern in einem Decoder ein wiederholbarer Weg quer durch unverbundene Produkte.

Zum dritten Mal lernt die Branche dasselbe an einem Bildparser. ImageTragick, ForcedEntry und die libwebp-Lücke hatten dieselbe Gestalt: eine kleine native Bibliothek, überall eingebettet, erreichbar durch nicht vertrauenswürdige Bytes, laufend im selben Prozess wie alles andere. Die haltbaren Gegenmittel sind die unglamourösen: außerhalb des Prozesses dekodieren, Rechte abgeben, Maße und Speicher begrenzen — und wissen, wogegen der eigene Container tatsächlich gelinkt ist.

Primärquelle
Hacktron
https://heif-heist.com