Session ist Abgelaufen in FireFox

Hallo zusammen,

wir haben heute einen Anruf eines Kunden erhalten, der über FireFox keine Produkte zu seinem Warenkorb hinzufügen. Der Fehler kann genauso rekonstruiert werden und ist für uns neu. Es gab keinerlei Anpassungen (Weder neue Plugins, noch Updates) in letzter Zeit, die so ein Verhalten erklären könnten.

Wir nutzen aktuell noch Shopware 6.4.20.2 und auf unserem Update-Staging Server mit 6.6.9.0 haben wir dieses Problem nicht. Ich habe folgende Stelle in den Produ-Logs direkt nach dem hinzufügen eines Produkts in den Warenkorb:

„[2025-03-05T09:59:13.561828+00:00] request.ERROR: Uncaught PHP Exception Shopware\Storefront\Framework\Csrf\Exception\InvalidCsrfTokenException: „The provided CSRF token is not valid“ at /home//staging/vendor/shopware/storefront/Framework/Csrf/CsrfRouteListener.php line 154 {„exception“:"[object] (Shopware\Storefront\Framework\Csrf\Exception\InvalidCsrfTokenException(code: 0): The provided CSRF token is not valid at /home//staging/vendor/shopware/storefront/Framework/Csrf/CsrfRouteListener.php:154)“} "

Wie gesagt kommt dieser Fehler nur bei FireFox und ist sehr aktuell. Vielleicht hat jemand eine Idee, woran das liegt & was wir dagegen tun können?

Hier ist noch der HTTP Request Body (ich hab einzelne der Cookies szensiert):

Das muss ja noch Shopware 6.4 sein, ab 6.5 wurde das auf Cookie geändert. Müsste ich tippen, dann ist es ein Cache Problem im Browser. Das CSRF sollte bei jedem Aufruf neu erstellt werden.

1 „Gefällt mir“

Wir nutzen aktuell noch 6.4.20.2

Am Cache dürfte es nicht liegen, sowohl der Kunde als auch das 12 Köpfige Team hinter unserem Shop kann diesen Fehler nachstellen. Und das, obwohl hier keiner regulär FireFox verwendet.

Habe es gerade auch versucht durch löschen der Browserdaten das Problem zu beheben, leider keine Wirkung.

Dann hat Firefox ggf. irgendeine Richtlinie.

Sinn eines CSRF ist es, einen zufälligen String zu generieren, damit dieser in POST-Requests mit übergeben wird. So kann man sicher sein, der Request hat zumindest die Website zuvor gesehen und kommt nicht von irgendwo anders her.

Einfach mal die Requests der unterschiedlichen Browser vergleichen und nach dem CSRF schauen.