Zum Einsatz von PEERSTITCH diente CVE-2025-61624 (CVSS-Wert 5.4), eine Path-Traversal-Schwachstelle im Kommandozeileninterpreter von FortiOS, FortiPAM, FortiProxy und FortiSwitchManager. Sie erlaubt einem privilegierten Angreifer, über speziell präparierte Argumente an vorhandene Befehle beliebige Dateien zu schreiben oder zu löschen. Fortinet hat die Lücke im April 2026 geschlossen.

„PEERSTITCH hinterlässt keine dauerhafte Binärdatei auf der Festplatte, öffnet keine lauschenden Ports und baut keine ausgehenden Netzwerkverbindungen auf", erklärten Gott und Westfall. „Stattdessen kommuniziert es über den Datenverkehr, den legitime Prozesse auf dem infizierten Host erzeugen, was die Schadsoftware gegen herkömmliche Endpunkt- und Netzwerkerkennung widerstandsfähig macht."

Der mehrstufige Einbruch wird als CL-STA-0954 (auch UNC5820) geführt. Den Erstzugang verschafften sich die Angreifer über die kritische FortiManager-Schwachstelle CVE-2024-47575, bekannt als FortiJump. Nach der erfolgreichen Kompromittierung der Appliance exfiltrierten sie ein Archiv mit laufenden Konfigurationen, kryptografischem Material und Datenbankdateien zu mehr als 500 verwalteten FortiGate-Firewalls. Zu den erbeuteten Daten zählen:

  • die Seriennummer der FortiManager-Appliance selbst sowie ihre Verwaltungsbeziehungen zu jedem eingebundenen Gerät
  • laufende Konfigurationsdateien von mehr als 500 verwalteten FortiGate-Firewalls in der internen Infrastruktur und in Kundennetzen
  • zentrale SQLite-Verwaltungsdatenbanken
  • ein Inventar mit mehr als 500 FortiGate-Seriennummern samt zugehöriger öffentlicher IP-Adressen
  • interne Netzwerktopologiekarten, Routingtabellen und Schnittstellenkonfigurationen
  • Administrator-, lokale und SSL/VPN-Zugangsdaten als Chiffrat
  • kodiertes kryptografisches Vertrauensmaterial, darunter öffentliche Zertifikate und private Schlüssel

Diese Informationen nutzten die Angreifer anschließend für Netzwerkaufklärung, um dauerhaften Zugang einzurichten, Netzwerkverkehr abzufangen, unautorisierte FortiGate-SSL/VPN-Sitzungen zu Perimeter-Firewalls aufzubauen, Hintertüren zu installieren und schließlich über CVE-2025-61624 PEERSTITCH auszuspielen.

Bei der Schadsoftware handelt es sich um eine in C geschriebene 64-Bit-Linux-Datei für ARM64. Ein Auto-Script lädt fünf Komponenten von einem externen Server (23.240.77[.]233:8085) nach:

  • pM.js, ein Skript zur Vorbereitung der Umgebung, das sich selbst löscht
  • a.js (gespeichert als index.js), ein Emscripten-JavaScript-Laufzeitmodul
  • a.wasm (gespeichert als index.wasm), ein kompiliertes WebAssembly-Binärmodul
  • b.js (gespeichert als ipssem.js), ein Skript zur Orchestrierung der Installation
  • dd (gespeichert als lldprx), ein nativer ARM64-ELF-Injektor und Kern von PEERSTITCH

Die Hauptphase des Angriffs beginnt nach einer Ausführungsverzögerung. Der Orchestrator ipssem.js startet lldprx, das als Injektor zum Patchen des Prozessspeichers zweier zentraler FortiOS-Daemons dient: /bin/miglogd und /bin/iked. Dazu sucht es die laufenden Prozesse der beiden Daemons, liest deren Speicherlayout aus, hängt sich per ptrace an sie an, hält ihre Ausführung mit PTRACE_INTERRUPT an, reserviert ausführbaren Speicher, schreibt dort Schadcode hinein und lenkt die Ausführung über den eingeschleusten Code um.

Ziel dieses Hooking-Schritts ist eine „verdeckte, speicherresidente Kommunikationsbrücke" zwischen den beiden legitimen FortiOS-Prozessen — anstelle einer klassischen Netzwerkverbindung oder Datei. Der Hook in miglogd erkennt dabei Marker in den durchgereichten Daten:

  • einen TCP-Port-Marker 8550, eingebettet in die Verkehrsdaten und nicht als lauschender Port
  • einen IP-Adress-Marker 169.254.0.1, ein Link-Local-Kennzeichen zum Mustervergleich

Wird das Muster erkannt, übergibt der Hook das zugehörige Sitzungstoken beziehungsweise den Bezeichner an den iked-Daemon. Dessen Hook sucht bei der Abwicklung späterer VPN-Sitzungen nach diesem Bezeichner. Findet er ihn im Injektionspuffer der Sitzung, schlägt er einen alternativen Ausführungspfad ein und umgeht die standardmäßigen Sicherheitsprüfungen von FortiOS.

Neben PEERSTITCH richteten die Angreifer einen weiteren Command-and-Control-Kanal ein: Über das auf FortiGate-Firewalls vorhandene Apache-Modul mod_md erzeugten sie eine SSH-basierte Reverse Shell. „Die Angreifer gaben sich außerdem als die FortiManager-Plattform aus, um Daten von verwalteten Firewalls anderer Hosts im Zielnetzwerk abzurufen", so die Forscher. „Die Angreifer zeigten Kenntnisse der Architektur von Fortinet-Appliances, der FortiOS-Interna und der FortiOS-Verwaltungsprotokolle."

Ob dafür weitere Schwachstellen wie CVE-2024-26009 und CVE-2024-26008 ausgenutzt wurden, ist nicht abschließend geklärt. Unit 42 wies allerdings darauf hin, dass deren Ausnutzung eine Anbindung des Geräts an FortiGate Cloud/FortiCloud SSO voraussetzt — was bei keiner der betroffenen Firewalls der Fall war.

CL-STA-0954 unternahm darüber hinaus mehrere Schritte zur Beseitigung forensischer Spuren: Die Erzeugung von Syslog-Einträgen wurde beendet, Absturzprotokolle wurden gelöscht, Protokolltelemetrie gestört und unautorisierte Administratorkonten sowie Auto-Script-Objekte nach der Ausführung automatisch entfernt.

„Dieser Einbruch verdeutlicht eine wachsende Bedrohung: die Instrumentalisierung zentraler Verwaltungsökosysteme für Edge-Geräte, um nachgelagerte Netzwerke zu kompromittieren", erklärte Unit 42. „Die Entdeckung des PEERSTITCH-Implantats zeigt die zunehmende technische Reife von Schadsoftware für Edge-Geräte." Indem die Angreifer als einmaliger Injektor arbeiteten, dauerhafte Artefakte auf der Festplatte vermieden und eine verdeckte Interprozesskommunikation im Prozessspeicher aufbauten, hätten sie anhaltenden Zugriff erreicht und zugleich die herkömmliche Überwachung umgangen.