Zum Inhalt springen
← Alle Artikel

Ein KI-Agent findet vier EPICS-Lücken in unter vier Stunden

29. Okt. 2026 · Backend · 6 min

·Von Dimitri Pisarev

Vier bisher unbekannte Memory-Safety-Lücken in EPICS Base, dem Open-Source-Toolkit hinter Teilchenbeschleunigern und Fusionsexperimenten, hat der autonome Security-Agent Cipher gefunden und validiert, in drei Stunden und 49 Minuten. Das CISA-Advisory ICSA-26-300-01 erschien am 27. Oktober, die Fixes liegen in EPICS Base 7.0.11.

Was ist EPICS, und wo läuft es?#

EPICS steht für Experimental Physics and Industrial Control System. Los Alamos und Argonne National Laboratory haben das Projekt vor Jahrzehnten gestartet, und große Forschungsanlagen bauen damit verteilte Steuerungssysteme, die Betreiber mit physischen Geräten verbinden. Ein Input/Output Controller legt Prozessvariablen und Steuerfunktionen aufs Netzwerk, und die Operator-Software erreicht ihn über zwei Protokolle: Channel Access und pvAccess. Die Projektliste bei epics-controls.org nennt viele Dutzend Projekte aus verschiedenen Disziplinen und Kontinenten, darunter die Advanced Photon Source des Argonne-Labors und das Kontrollsystem des Fusionsreaktors ITER.

Causal Security, die Firma hinter Cipher, beschreibt den Rahmen in den ersten Zeilen ihres Berichts: Monitoring und Steuerung im Alltag hängen von Netzwerkdiensten ab, die Nachrichten anderer Maschinen parsen, also gehört die Korrektheit dieser Parser zur Sicherheitsgrenze einer Anlage. Beschleuniger haben eigene Schutzsysteme. Die Parser für den täglichen Betrieb sitzen außerhalb davon.

Wie findet ein Agent vier unbekannte Lücken in unter vier Stunden?#

Cipher ist das autonome Sicherheitssystem von Causal Security. Mitgründer Shubham Raj beschrieb es dem Register als „a fully autonomous super hacker that can reason across the technology stack“. Auf EPICS startete der Agent mit einem Codebestand, den er nie zuvor gesehen hatte. Er verfolgte jeden Zähler, jede Länge und jeden dekodierten Typ aus den Netzwerknachrichten bis zu der Stelle, an der der Wert eine Speicherreservierung bemisst, Speicher indiziert oder als Typ gecastet wird. Er baute die betroffenen Komponenten in einer isolierten Sandbox und reproduzierte alle vier Lücken selbst, unter AddressSanitizer oder im Debugger, jede Reproduktion gegen eine Negativkontrolle, die den echten Fehler vom normalen Protokollverhalten trennt. Raj beschreibt den Ablauf: „The initial investigation required no human intervention, followed by one instruction authorizing deeper exploitability testing in a secure environment.“

Die Offenlegung zeigt, dass der Agent seine Arbeit vor Monaten erledigt hat. Causal Security meldete die Funde am 9. Juni über den EPICS-Security-Kanal, die Maintainer mergten die Channel-Access-Fixes am 23. Juli, der pvAccess-Fix folgte am 10. August, und EPICS Base 7.0.11 sowie das CISA-Advisory erschienen gemeinsam am 27. Oktober. Das ist für diesen Agenten das zweite CISA-Advisory innerhalb eines Monats. Am 8. Oktober hatte CISA ICSA-26-281-02 zu fünf Schwachstellen in openPDC und openHistorian veröffentlicht, Software der Firma Grid Protection Alliance für Stromnetze, und das Register schreibt diese Funde ebenfalls Cipher zu.

Vier Memory-Safety-Lücken in einem Protokoll-Stack#

Drei der vier Lücken sitzen im serverseitigen Handling der Channel-Access-Nachrichten, die kritische ist CVE-2026-114595 mit 9,8 unter CVSS v3.1. Ein Channel-Access-Request trägt einen Datentyp und eine Elementanzahl. Der Server prüft den Typ, die Anzahl geht ungeprüft in die Multiplikation mit der Elementgröße ein. Diese 32-Bit-Rechnung kann überlaufen, die Reservierung fällt kleiner aus, als die nachfolgende Konvertierung braucht, und vom Angreifer beeinflusste Bytes landen hinter dem Ende des zu kleinen Heap-Puffers. CISA stuft die Lücke als kritisch ein und nennt eine mögliche Remote Code Execution. Cipher hat den Schreibzugriff und den Absturz demonstriert und keinen RCE-Exploit gebaut.

Die anderen drei brauchen weniger Aufwand. CVE-2026-114596 (8,2) schickt eine Extended-Header-Länge, die die Längenrechnung des Servers überlaufen lässt, sodass ein zu großer Wert die Prüfung passiert, die ihn abweisen sollte, und ein späterer Schritt nutzt die ursprüngliche Länge als Offset für einen Out-of-bounds-Schreibzugriff auf ein einzelnes Byte. CVE-2026-114597 (7,5) meldet mehr Elemente, als die Nutzlast enthält, und der Server konvertiert Daten hinter dem Ende seines Empfangspuffers. Die letzte, CVE-2026-114598 (7,5), sitzt im pvAccess-Deserialisierer und liegt auf dem Weg der Verbindungsvalidierung, noch vor der abgeschlossenen Authentifizierung: Der Deserialisierer castet ein dekodiertes Feld auf den erwarteten Elementtyp, ohne zu prüfen, ob es diesen Typ hat, und nachfolgender Code liest über ein falsches Speicherlayout. CISA fasst die Bandbreite so zusammen: „Successful exploitation of these vulnerabilities could allow an attacker to cause a denial-of-service condition, corrupt memory, disclose sensitive information, or potentially execute arbitrary code.“ Alle Releases bis einschließlich 7.0.10 tragen alle vier Lücken.

Was braucht ein Angreifer, um diese Dienste zu erreichen?#

Erreichbarkeit macht den größten Teil der Arbeit. Channel Access lauscht auf TCP 5064, pvAccess auf TCP 5075, die Discovery läuft über UDP daneben, und EPICS-Installationen sollen hinter einer segmentierten Grenze des Kontrollnetzes sitzen. Wer diese Lücken in einer echten Anlage ausnutzen will, muss die Dienste zuerst erreichen, über schwache Segmentierung oder über ein anderes kompromittiertes System mit einem Weg ins Kontrollnetz. Raj sagte dem Register: „Once an attacker is able to find a network, which is either misconfigured or they are able to reach, it's pretty easy to carry out the attacks.“ In Ciphers Testkonfiguration brauchte nichts ein privilegiertes Konto.

Zugangsdaten und Beschleuniger-Physik halten einen Angreifer kaum auf. Die Access-Security-Regeln von EPICS und die pvAccess-Authentifizierung regeln, was ein Client nach dem Verbindungsaufbau lesen oder schreiben darf, und sie machen eine fehlerhafte Nachricht nicht sicher zu parsen. Wer die Lücken ausnutzt, braucht nach Raj keine tiefe OT-Expertise: „Someone with conventional exploitation skills could investigate them, and increasingly capable AI systems could help develop exploits without requiring specialized OT expertise.“ Er ergänzte: „But an attacker doesn't need to understand the physics of a particle accelerator to disrupt the software controlling it. Crashing critical processes or interrupting monitoring and control can already have serious operational consequences.“ Sein Bild vom Schaden, wieder gegenüber dem Register: Ein Controller-Absturz mitten in einem teuren Experiment kann die Operatoren zu einem Abbruch zwingen, mit verlorener Versuchsarbeit, Ausfallzeit und teurer Wiederherstellung. Für das Manipulieren eines konkreten physikalischen Prozesses braucht ein Angreifer zusätzliches Wissen. Der Absturz der Software, die misst und kommandiert, kommt ohne diese Zusatzkenntnisse aus.

Zuerst patchen, dann das Umfeld prüfen#

Das Update auf 7.0.11 kommt zuerst, oder ein Vendor-Backport, wenn eine Anlage EPICS über ein unterstütztes Hersteller-Paket bezieht. Das Inventar gehört zur Aufgabe, weil der Einsatz über selbst gepflegte Builds ebenso läuft wie über vom Hersteller gelieferte Controller und Beamline-Pakete, also brauchen beide Seiten einen Versions-Check. Ein Rollout-Stolperstein ist dokumentiert: Die Release Notes zu 7.0.11 warnen, dass die strengere Channel-Access-Nachrichtenvalidierung die Interoperabilität mit älteren CA-Clients beeinträchtigen kann, und in einem Kontrollsystem heißt das, Legacy-Clients vor dem Produktiv-Rollout zu testen.

Die Netzwerkstruktur bleibt die Kontrolle, die jeden einzelnen Patch überdauert. CISA rät für Kontrollsysteme zur Trennung von Firmennetzen und zur Absicherung des Fernzugriffs, der sich nicht vermeiden lässt. Die kleinste überprüfbare Version davon ist ein geprüftes Site-to-Site-Tunnel-Setup. Wenn du so einen Tunnel für den Fernzugriff brauchst, steht die komplette Konfiguration im WireGuard-Beitrag auf dieser Seite, rund zwanzig Zeilen pro Peer. Der Zeitpunkt passt zu einer Entwicklung, die das PHP-Release im Oktober von der anderen Seite gezeigt hat: Das PHP-Security-Team hat einen Berichts-Ansturm durchgearbeitet, der mit KI-gestützter Schwachstellenforschung kam. Agents validieren Reports schon eine Weile. Dieser hat die Lücken gefunden, validiert und über koordinierte Offenlegung gemeldet. Dieselbe Woche lieferte die andere Hälfte der Geschichte: Eine platzierte AGENTS.md kaperte Coding-Agenten aus dem Downloads-Ordner, und dafür gibt es keinen Patch.

Der restliche Arbeitsteil gehört den Betreibern: EPICS-Base-Versionen erfassen, einschließlich der Builds, die in Vendor-Paketen stecken, und die Netzpfade in die Kontrollsegmente prüfen. Einen Bericht über öffentliche Ausnutzung dieser vier Schwachstellen hat CISA bisher nicht erhalten, und die Fixes liegen seit dem 27. Oktober in 7.0.11.