„`html
Zusammenfassung
Die Schwachstelle CVE-2026-72522 betrifft libexpat vor Version 2.8.3 und ermöglicht einen Out-of-Bounds-Read in den *_toUtf16 Funktionen. Die Verwundbarkeit wird durch fehlerhafte Unicode-Verarbeitung ausgelöst, bei der Low-Surrogates identisch wie High-Surrogates behandelt werden, was zu einer Endlosschleife führt.
Betroffene Systeme
Folgende Systeme sind anfällig für diese Schwachstelle:
- libexpat Versionen vor 2.8.3
- Alle Systeme mit anfälligen libexpat-Versionen
- Applikationen, die libexpat für XML-Parsing einsetzen
- Systeme mit eingebetteten XML-Parsern basierend auf libexpat
Technische Details
Die Schwachstelle liegt in der Unicode-UTF-16-Konvertierung. Surrogate-Paare sind in UTF-16 erforderlich, um Codepoints außerhalb der BMP (Basic Multilingual Plane) darzustellen. High-Surrogates (0xD800-0xDBFF) und Low-Surrogates (0xDC00-0xDFFF) müssen in korrekten Paaren verarbeitet werden.
libexpat behandelt Low-Surrogates fehlerhaft als High-Surrogates. Dies führt dazu, dass der Parser versucht, ungültige Surrogate-Sequenzen zu verarbeiten. Das Fehler-Handling in den *_toUtf16 Funktionen fällt dann in eine Endlosschleife, da die Out-of-Bounds-Lesevorgänge nicht korrekt validiert werden.
Ein Angreifer kann mittels speziell konstruierter XML-Eingaben mit manipulierten UTF-16-Surrogate-Sequenzen einen Denial-of-Service-Zustand verursachen.
Empfohlene Massnahmen
- Aktualisieren Sie libexpat auf Version 2.8.3 oder höher
- Überprüfen Sie alle Systeme auf anfällige libexpat-Versionen
- Implementieren Sie Input-Validierung für XML-Daten
- Begrenzen Sie die Verarbeitungszeit von XML-Parsing-Operationen
- Deaktivieren Sie externe Entity-Verarbeitung wenn nicht nötig
Bewertung
CVSS Score: 6.2 (Medium)
Angriffsvektor: Lokal | Komplexität: Niedrig | Vertraulichkeit: Keine | Integrität: Keine | Verfügbarkeit: Hoch
Die Schwachstelle ermöglicht Denial-of-Service-Angriffe mit lokalen Angriffsvektor. Das fehlende Patch-Update erfordert sofortige Aufmerksamkeit.
„`