Zum Inhalt springen

Expat-Lücken: Parser-Fehler ermöglichen das Umgehen von Schutzmechanismen

7. Mai 2026 durch
Expat-Lücken: Parser-Fehler ermöglichen das Umgehen von Schutzmechanismen
Carsten Depping

In der XML-Bibliothek expat klaffen mehrere Schwachstellen, die das Umgehen bestehender Sicherheitsvorkehrungen ermöglichen. Betroffen sind mehrere Versionen des Parsers. Angreifer können über präparierte XML-Eingaben Logikprüfungen aushebeln, Sicherheitsgrenzen verschieben und Schutzmechanismen im Parser oder in darauf aufsetzenden Anwendungen umgehen. Das Angriffsszenario ist klar: Wer dem Zielsystem XML unterjubeln kann – etwa per Upload, API-Request oder Interprozess-Kommunikation –, kann die Lücken aus der Ferne triggern. Das Risiko reicht von unterlaufenen Validierungen bis hin zu Folgeschäden in nachgelagerten Komponenten, die den Parser als Vertrauensanker verwenden.

Angriffsweg über präpariertes XML

Security-Bypass-Schwachstellen in XML-Parsern entstehen häufig dort, wo Parsing-Regeln, Grenzwerte oder Sicherheitsoptionen nicht konsequent durchgesetzt werden. Ein klassisches Beispiel sind Kantenfälle bei Entitäten, Namespaces oder Attribut-Verarbeitung: Wird etwa die Auswertung von Entitäten unerwartet reaktiviert, Grenzwerte für Rekursion oder Puffergrößen umgangen oder die Behandlung externer Referenzen nicht sauber blockiert, lassen sich hart gedachte Schranken aushebeln. Angriffe zielen dann auf Parser-internes Verhalten, das eine Anwendung als bereits „geprüft“ interpretiert, obwohl der Input logisch eine andere Gestalt annimmt.

In der Praxis genügt oft ein einzelnes, sorgfältig konstruiertes XML-Dokument, um solche Effekte auszunutzen. Der Angreifer variiert Strukturen, die am Trust-Boundary liegen: DTD-Konstrukte, Entitäten-Ketten, ungewöhnliche Namespace-Kombinationen oder Grenzwerte bei Attributlängen. Wenn der Parser hier inkonsistent agiert – etwa Limits nur teilweise oder an der falschen Stelle setzt –, können Validierungen, die sich auf das Parser-Ergebnis verlassen, ins Leere laufen. Das Resultat sind Umgehungen von Sicherheitsvorkehrungen, die eigentlich XML-Features einschränken oder gefährliche Auflösungen verhindern sollten.

Besonders tückisch ist, dass ein solcher Bypass nicht zwingend unmittelbar zum Crash oder zu einer offensichtlichen Kompromittierung führt. Stattdessen wird Schutz schrittweise ausgehöhlt: Ein Modul akzeptiert Daten, die es verwerfen müsste, und reicht sie an die nächste Schicht weiter. Dort kann die manipulierte Struktur dann zusätzliche Logikfehler triggern – bis hin zu Injections oder Rechteausweitungen in nachgelagerten Pfaden. Wer XML von außen annimmt oder zwischen Diensten austauscht, befindet sich damit potenziell in der Schusslinie.

Wo der Parser im Stack hebelt

Expat sitzt häufig tief im I/O-Pfad von Anwendungen und übernimmt die erste Aufbereitung unstrukturierter Eingaben. Entsprechend gravierend wirken sich Schwachstellen an dieser Stelle aus: Wird „sicheres Parsen“ scheinbar gewährleistet, aber intern ausgehebelt, sind darübergelegte Prüfungen blind. Typische Angriffsfenster öffnen sich dort, wo Anwendungen sich auf Parser-Flags und definierte Limits verlassen – etwa bei der Deaktivierung riskanter XML-Features, beim Erzwingen strikter Token-Reihenfolgen oder beim Begrenzen von Ressourcenverbrauch.

Ein Security-Bypass in diesem Bereich kann etwa dazu führen, dass externe Referenzen doch verarbeitet, Tiefenlimits überschritten oder Validierungsfehler unterschlagen werden. Auch Unterschiede zwischen Streaming- und Baumverarbeitung sind ein fruchtbarer Boden: Wenn Ereignisse im Streaming-Modus anders interpretiert werden als das finale Datenmodell, entsteht Spielraum für Input, der Prüfungen umkurvt. Aus Sicht der Verteidigung besonders kritisch: Viele Systeme betrachten den Parser als „Vertrauensfilter“ und normalisieren danach. Wird die Normalisierung unterlaufen, wird potenziell gefährlicher Inhalt nachgelagert als „bereinigt“ behandelt.

Für Betreiber bedeutet das: Die reale Gefährdung hängt weniger von einem einzelnen Modul als vom Gesamtsystem ab. Ein und derselbe Bypass kann in einem Service nur zu falscher Akzeptanz führen, in einem anderen aber in Kombination mit Business-Logik zu Datenabfluss oder Code-Ausführung eskalieren. Entsprechend sollten Admins nicht nur den Parser patchen, sondern auch Annahmen in der Applikationskette prüfen.

Harter Kurs beim XML-Hardening

Wer expat produktiv einsetzt oder transitiv über Abhängigkeiten bezieht, sollte zügig handeln. Priorität hat ein Update auf die von der eigenen Distribution oder dem jeweiligen Software-Stack bereitgestellten Pakete. Ergänzend lohnt sich ein Blick in die Parser-Konfiguration: Viele Angriffsflächen lassen sich durch defensive Defaults entschärfen. Ebenso wichtig ist Monitoring – auffällige Parser-Fehler, Timeouts und Validierungsanomalien sind oft frühe Indikatoren für Exploit-Versuche.

  • Aktualisieren Sie expat über die Paketquelle Ihres Systems oder Vendors.
  • Härten Sie das Parsing: DTD und externe Entitäten deaktivieren, Limits strikt setzen.
  • Isolieren Sie untrusted XML: separate Prozesse/Container, enges Ressourcen-Limit.
  • Schärfen Sie Erkennung: Logs auf Parserfehler, Zeitüberschreitungen und Anomalien prüfen.
Expat-Lücken: Parser-Fehler ermöglichen das Umgehen von Schutzmechanismen
Carsten Depping 7. Mai 2026
Diesen Beitrag teilen