-
-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CSP issue with inline scripts on checkout, after applying the 2.4.6-p6 patch #87
Comments
the patch for current version of this file:
|
@redo-interactive ... thank for the code, we already have all the coding done internally and will be releasing shortly after a full review since we will need to drop support for older version of Magento < 2.4.0 They seem to be a few issues and bug right here in your code You may have an issue when this getEmbeddedCode() is null
|
@srenon Oh you are right. Thank you. just updated the code. |
@srenon , could you share some details, when the new version will be available? |
Still have the issue with latest 3.0.0 version and magento 2.4.6-p8. You guys have wrapped your scripts with secure renderer, but it didn't solve the problem because when gtm.js is loaded, inside it appends scripts without nonce and they are blocked. Here is error from gtm.js?id={ID_HERE}:644 Refused to execute inline script 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 www.paypalobjects.com t.paypal.com s.ytimg.com www.googleapis.com vimeo.com www.vimeo.com .vimeocdn.com .youtube.com https://www.gstatic.com/recaptcha/ https://www.google.com/recaptcha/ js.braintreegateway.com assets.braintreegateway.com c.paypal.com pay.google.com api.braintreegateway.com api.sandbox.braintreegateway.com client-analytics.braintreegateway.com client-analytics.sandbox.braintreegateway.com .paypal.com songbirdstag.cardinalcommerce.com .googleapis.com .gstatic.com js.hsforms.net js-na1.hs-scripts.com js.hs-banner.com js.hsadspixel.net js.hscollectedforms.net js.hubspot.com js.hs-analytics.net connect.facebook.net snap.licdn.com embed.typeform.com bat.bing.com static.hotjar.com .stripe.com klarna.com .klarna.com .klarnacdn.net .klarnaevt.com http://www.googletagmanager.com/ https://www.googletagmanager.com/ .avada.io .google.com/ 'self' 'unsafe-eval' 'unsafe-hashes' 'nonce-' 'sha256-=' 'sha256-=' 'sha256-' 'sha256-' 'sha256-' 'sha256-'". Either the 'unsafe-inline' keyword, a hash ('sha256-**'), or a nonce ('nonce-...') is required to enable inline execution. |
@FY0u11... Are you sure the issue isn't your GTM container trying to load a third party script that not whitelisted by CSP? |
@srenon You are right. In the GTM container there are "inline Html" tag with the script. But I cannot add it to the csp_whitelist (because it just a script tag). The one solution that I initially thought on is to add a nonce to the script. But it changes every page reload. Please can you give a hint how to handle it? |
@screnon, I have figured out. Need to add a |
After applying latest security patch from Adobe Commerce/Magento there is an issue on checkout, with inline script in
view/frontend/templates/js.phtml
There is a need to use
$secureRenderer->renderTag
to generate script with unique nonce.Magento version #:
2.4.7-p1, 2.4.6-p6, 2.4.5-p8, 2.4.4-p9
Edition (EE, CE, OS, etc):
EE, CE, OS
Expected behavior:
js scripts won't break execution on checkout.
Actual behavior:
js scripts are breaking execution on checkout.
Steps to reproduce:
add product to the cart and go to checkout
Preconditions
M2/AC 2.4.6-p6, PHP 8.1
I have created a fix for this:
The text was updated successfully, but these errors were encountered: