„`html
Zusammenfassung
Die Sicherheitslücke CVE-2026-78207 ist eine kritische Prototype Pollution Schwachstelle in der exceljs-hardened Bibliothek vor Version 5.0.0. Die Vulnerability ermöglicht es Angreifern, über manipulierte JSON-Daten in Cell-Notizen das Object.prototype zu modifizieren und dadurch die Integrität aller Plain Objects in der Anwendung zu gefährden.
Betroffene Systeme
- exceljs-hardened Versionen < 5.0.0
- Alle Anwendungen, die diese Bibliothek zur Excel-Dateiverarbeitung nutzen
- Systeme, die externe Excel-Dateien mit Notizen verarbeiten
- Web-Anwendungen mit Node.js-Backend
Technische Details
Die Schwachstelle befindet sich in der deepMerge-Hilfsfunktion. Diese führt beim Mergen von Note-Objekten keine ausreichende Validierung der Schlüsselnamen durch. Spezifische gefährliche Eigenschaften wie __proto__, constructor und prototype werden nicht gefiltert.
Ein Angreifer kann eine manipulierte Excel-Datei erstellen, deren Cell-Notizen ein JSON-Objekt mit einer böswilligen __proto__-Eigenschaft enthalten. Beim Parsing und Mergen dieser Notizen wird Object.prototype modifiziert, was zu einer globalen Pollution führt.
Beispielhafter Angriffsvektor: {"__proto__": {"isAdmin": true}} als Note-Property wĂĽrde alle nachfolgend erstellten Objekte beeinflussen.
Empfohlene Massnahmen
- Sofortmassnahmen: Validierung aller eingehenden Excel-Dateien implementieren
- Input-Filterung: Cell-Notizen vor dem Verarbeiten auf verdächtige Keys prüfen
- Upgrade: Aktualisierung auf exceljs-hardened ≥ 5.0.0 durchführen (sobald verfügbar)
- Monitoring: Unerwartete Object.prototype-Modifikationen ĂĽberwachen
- Least Privilege: Datei-Upload-Funktionalität einschränken
Bewertung
CVSS 9.4 (Critical): Die Schwachstelle hat kritischen Schweregrad aufgrund des hohen Exploitationspotenzials ĂĽber Netzwerk ohne Authentifizierung. Die Prototype Pollution kann zu Remote Code Execution oder Privilege Escalation fĂĽhren. Ein Patch ist derzeit nicht verfĂĽgbar, weshalb umgehende Mitigationsmassnahmen erforderlich sind.
„`