• CWE-1236: Improper Neutralization of Formula Elements in a CSV File

Das Produkt speichert benutzerbereitgestellte Informationen in einer Comma-Separated Value (CSV)-Datei, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft. Dies bedeutet, dass spezielle Elemente, die als Befehle interpretiert werden könnten, wenn die Datei von einer Tabellenkalkulationsanwendung geöffnet wird, nicht ausreichend behandelt werden.

CWE-1236: Improper Neutralization of Formula Elements in a CSV File

CWE ID: 1236
Name: Improper Neutralization of Formula Elements in a CSV File

Beschreibung

Das Produkt speichert benutzerbereitgestellte Informationen in einer Comma-Separated Value (CSV)-Datei, neutralisiert diese jedoch nicht oder neutralisiert sie fehlerhaft. Dies bedeutet, dass spezielle Elemente, die als Befehle interpretiert werden könnten, wenn die Datei von einer Tabellenkalkulationsanwendung geöffnet wird, nicht ausreichend behandelt werden.

Erweiterte Beschreibung

Benutzerbereitgestellte Daten werden häufig in traditionellen Datenbanken gespeichert. Diese Daten können in eine Comma-Separated Value (CSV)-Datei exportiert werden, was es Benutzern ermöglicht, die Daten mit Tabellenkalkulationssoftware wie Excel, Numbers oder Calc zu lesen. Diese Software interpretiert Einträge, die mit ‘=’ beginnen, als Formeln, die dann von der Tabellenkalkulationssoftware ausgeführt werden. Die Formelsprache der Software erlaubt oft Methoden, um auf Hyperlinks oder die lokale Kommandozeile zuzugreifen und verfügt häufig über genügend Zeichen, um ein ganzes Script aufzurufen. Angreifer können Datenfelder befüllen, die, wenn sie in einer CSV-Datei gespeichert werden, beim automatischen Ausführen durch die Tabellenkalkulationssoftware zu einer Informationsbeschaffung (information exfiltration) oder anderen bösartigen Aktivitäten führen können.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Moderate
Beschreibung: Bei der Generierung von CSV-Ausgaben ist sicherzustellen, dass formelsensitive Metazeichen effektiv escaped oder aus allen Daten entfernt werden, bevor diese in der resultierenden CSV-Datei gespeichert werden. Risikobehaftete Zeichen umfassen ‘=’, ‘+’, ‘-’, und ‘@’. Notizen: Leider gibt es keine perfekte Lösung, da verschiedene Spreadsheet-Produkte unterschiedlich agieren.

Maßnahme (Implementation)

Effektivität: Moderate
Beschreibung: Sollte ein Feld mit einem Formelzeichen beginnen, fügen Sie ein ’ (einzelnes Apostroph) davor, um zu verhindern, dass Excel die Formel ausführt. Notizen: Es ist unklar, wie effektiv diese Mitigation mit anderer Tabellenkalkulationssoftware ist.

Maßnahme (Architecture and Design)

Effektivität: Limited
Beschreibung: Bestimmte Implementierungen von Tabellenkalkulationssoftware können die Ausführung von Formeln verhindern, wenn die Datei als nicht vertrauenswürdig eingestuft wird oder wenn die Datei nicht vom aktuellen Benutzer erstellt wurde. Notizen: Diese Abschwächung hat eine begrenzte Wirksamkeit, da sie oft von der sicheren Nutzung der Tabellenkalkulationssoftware durch die Endbenutzer abhängt.