CVE-2026-44827 ermöglicht es einem Angreifer, beliebigen Code auszuführen, wenn ein Hugging Face Diffusers-Modell geladen wird, selbst wenn das trust_remote_code-Flag deaktiviert ist. Forscher gaben der Schwachstelle den Namen „FaceHugger“ und führten sie auf eine Race Condition im zweiphasigen Modell-Ladevorgang der Bibliothek zurück. Jede Pipeline, die Modelle aus dem Hub abruft, kann betroffen sein.
Warum die Schwachstelle wichtig ist
Diffusers bildet die Grundlage für Text-to-Image- und andere Diffusionsmodelle. Im Juli 2026 verzeichnete es 8,1 Millionen Downloads, sodass unzählige CI/CD-Jobs, Container-Images und Enterprise-Inference-Services davon abhängen. Der Fehler umgeht den primären Sicherheitsmechanismus (trust_remote_code), den Entwickler aktivieren, um mit einem Modell mitgelieferten, nicht vertrauenswürdigen Python-Code zu blockieren.
Wie der Bypass funktioniert
- Zweistufiges Laden: Diffusers ruft zuerst eine Modellkonfiguration ab, dann zieht eine zweite Anfrage die Modellgewichte und den zugehörigen Code.
- Race Condition: Die Sicherheitsprüfung, die die erste Anfrage untersucht, erstreckt sich nicht auf die zweite.
- Payload-Injektion: Ein Angreifer, der die zweite Anfrage kontrolliert, schleust bösartigen Code ein, den die Bibliothek später ausführt und so die Vertrauensbarriere vollständig umgeht.
Da die Prüfung nur die ursprüngliche Anfrage betrachtet, vermittelt das Deaktivieren von trust_remote_code ein falsches Gefühl von Sicherheit.
Sofortmaßnahmen für Entwickler
- Fixieren Sie die Diffusers-Version in der
requirements.txtoder Ihrer Lock-Datei, um versehentliche Upgrades auf eine verwundbare Version zu verhindern. - Vermeiden Sie On-the-fly-Modellabrufe in der Produktion. Laden Sie Modelle in einen vertrauenswürdigen Artifact Store herunter (z. B. einen internen S3-Bucket) und laden Sie sie von dort.
- Prüfen Sie Modell-Repositories vor der Verwendung. Verifizieren Sie, dass die Code-Dateien des Modells mit den erwarteten Hashes übereinstimmen oder aus einer geprüften Quelle stammen.
- Erzwingen Sie Netzwerk-Egress-Kontrollen, damit Build-Agents und Inference-Server den öffentlichen Hugging Face Hub nicht erreichen können, es sei denn, Sie erlauben dies explizit.
- Führen Sie das Laden von Modellen in isolierten Containern oder Sandboxes mit minimalen Berechtigungen aus, um die Auswirkungen einer unerwarteten Codeausführung zu begrenzen.
Fazit:
Der FaceHugger-Bug zeigt, dass das Deaktivieren von trust_remote_code nicht ausreicht. Bis Sie Diffusers aktualisieren und Ihre Modell-Ingestion-Pipeline absichern, bleibt jeder Remote-Modellabruf ein potenzieller Einstiegspunkt für bösartigen Code.
