PAYONE-GmbH / magento-2

PAYONE Payment Extension for Magento 2
28 stars 56 forks source link

CSP- Probleme: Unzer Ratenkauf #554

Closed carlosblackdd closed 3 weeks ago

carlosblackdd commented 3 weeks ago

Wir haben ein Problem mit der Content Security Policy (CSP) in unserem Checkout-Prozess, wenn wir das Unzer Ratenkauf-Modul nutzen. Trotz einer umfassenden CSP-Whitelist und der Freigabe aller Payone-Inline-Skripte mittels Hash-Werten, erhalten wir weiterhin einen CSP-Fehler. Dieser tritt auf, wenn ein Kunde im Checkout einen der übermittelten Ratenpläne auswählt. Der Fehler führt zu einem Redirect auf die Startseite, was den Bestellprozess unterbricht.

Schritte zur Reproduktion:

Gehe zum Checkout-Prozess und wähle Unzer Ratenkauf als Zahlungsmethode. Wähle einen der angebotenen Ratenpläne aus. Beobachte den CSP-Fehler in der Browser-Konsole und den anschließenden Redirect zur Startseite.

Erwartetes Verhalten:

Der Kunde sollte den Ratenkauf ohne CSP-Verletzung und ohne Redirect auf die Startseite abschließen können.

Tatsächliches Verhalten:

Bei der Auswahl eines Ratenplans tritt ein CSP-Fehler auf, der zu einem Redirect auf die Startseite führt, wodurch der Checkout abgebrochen wird.

Fehlermeldungen:

Die genaue CSP-Fehlermeldung: Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src assets.adobedtm.com *.adobe.com www.googleadservices.com www.google-analytics.com googleads.g.doubleclick.net analytics.google.com www.googletagmanager.com *.newrelic.com *.nr-data.net geostag.cardinalcommerce.com 1eafstag.cardinalcommerce.com geoapi.cardinalcommerce.com 1eafapi.cardinalcommerce.com songbird.cardinalcommerce.com includestest.ccdc02.com www.paypal.com www.sandbox.paypal.com . Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.

carlosblackdd commented 3 weeks ago

Das Problem liegt gefühlt hier in dem Bereich: https://github.com/PAYONE-GmbH/magento-2/blob/596c20ac75feca3c7668ffefa46194f359e7a7eb/view/frontend/web/js/view/payment/method-renderer/payolution_installment-method.js#L164

janteuber commented 3 weeks ago

Wir haben das CSP-Problem bereits in einem PR gelöst: https://github.com/PAYONE-GmbH/magento-2/pull/552

Diesen werden wir mit der nächsten Pluginversion veröffentlichen.

carlosblackdd commented 3 weeks ago

Ah super. Steht schon fest, wann es die neue Version geben wird?

janteuber commented 3 weeks ago

Auf jeden Fall in den nächsten Wochen. Der Entwickler ist aktuell noch dran die Kompatibilität zu PHP 8.3 herzustellen. Wenn das geschehen ist, wird das Plugin final gestestet und dann veröffentlicht.