„`html
Zusammenfassung
Die Bibliothek json-2-csv in den Versionen 3.15.0 bis einschließlich 5.5.10 weist eine CSV-Injection-Schwachstelle auf. Die implementierte Schutzmaßnahme gegen CSV-Injection kann durch spezifische Eingabemuster umgangen werden, was Angreifern ermöglicht, schädliche Formeln in CSV-Dateien einzuschleusen.
Betroffene Systeme
Alle Anwendungen, die json-2-csv in den Versionen ab 3.15.0 bis vor 5.5.11 einsetzen. Dies betrifft insbesondere:
- Node.js-Anwendungen mit dieser npm-Abhängigkeit
- Webanwendungen, die CSV-Exporte generieren
- Datenverarbeitungssysteme mit CSV-Ausgabefunktionen
Technische Details
Die Schwachstelle liegt in der Implementierung der preventCsvInjection-Option. Diese soll verhindern, dass Formeln (beginnend mit =, +, -, @, Tab) als potenziell gefährliche Inhalte erkannt und neutralisiert werden. Ein Angreifer kann jedoch durch Umgehungstechniken wie Unicode-Zeichen, Leerzeichen oder alternative Formatierungsmethoden die Filterlogik überwinden.
Beim Öffnen der manipulierten CSV-Datei in Tabellenkalkulationsprogrammen (Excel, LibreOffice Calc) werden die eingeschleusten Formeln ausgeführt, was zu Datenverlust, Netzwerk-Requests oder Code-Ausführung führen kann.
Empfohlene Massnahmen
- Update durchführen: Aktualisieren Sie json-2-csv auf Version 5.5.11 oder höher
- Input-Validierung: Implementieren Sie serverseitige Validierung für Benutzereingaben vor der CSV-Verarbeitung
- Output-Encoding: Verwenden Sie robuste CSV-Escape-Mechanismen unabhängig von der Bibliothek
- Content-Type: Nutzen Sie beim Download
Content-Type: text/plainstatttext/csv
Bewertung
Mit einem CVSS-Score von 6.8 (Medium) stellt diese Schwachstelle ein moderates Risiko dar. Da kein Patch verfügbar ist, sollten Organisationen dennoch Mitigationsmaßnahmen implementieren und die Verfügbarkeit eines Updates überwachen. Das Risiko ist abhängig davon, ob externe Nutzer CSV-Exporte durchführen können.
„`