コンテンツ セキュリティ ポリシー (CSP) sha256 は Chrome 74.x では一致しませんが、Chrome 75.x では正常に動作します。

コンテンツ セキュリティ ポリシー (CSP) sha256 は Chrome 74.x では一致しませんが、Chrome 75.x では正常に動作します。

私は自分のサイトに次のように非常に厳格なコンテンツ セキュリティ ポリシー (CSP) を設定しようとしています。

base-uri 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' 'report-sample' https: http: 'sha256-lfXlPY3+MCPOPb4mrw1Y961+745U3WlDQVcOXdchSQc=' 'sha256-rRMdkshZyJlCmDX27XnL7g3zXaxv7ei6Sg+yt4R3svU=' 'nonce-[CSP-NONCE]' 'Strict-Dynamic' 'unsafe-hashes';frame-src 'self';object-src 'none';report-uri /report-csp;

sha256-lfXlPY3+MCPOPb4mrw1Y961+745U3WlDQVcOXdchSQc=しかし、Chrome/74.0.3729.169 では、スクリプト「javascript:;」と一致しないことがわかりました。

Chrome/75.xで動作することを確認しました

Chrome/74.0.3729.169 からのレポートは次のようになります。

{"csp-report":{"document-uri":"https://xxx.xxx.com/","referrer":"https://xxx.xxx.com/","violated-directive":"script-src-elem","effective-directive":"script-src-elem","original-policy":"base-uri 'self';script-src 'self' 'unsafe-inline' 'unsafe-eval' 'report-sample' https: http: 'sha256-lfXlPY3+MCPOPb4mrw1Y961+745U3WlDQVcOXdchSQc=' 'sha256-rRMdkshZyJlCmDX27XnL7g3zXaxv7ei6Sg+yt4R3svU=' 'nonce-ICXBmlKCIhrG35lflJLb' 'Strict-Dynamic' 'unsafe-hashes';frame-src 'self';object-src 'none';report-uri /report-csp;","disposition":"report","blocked-uri":"inline","line-number":1,"source-file":"https://xxx.xxx.com/","status-code":0,"script-sample":"javascript:;"}}

それは Chrom 74.x のバグですか?

ちなみに、ポリシー内の別のハッシュは Chrome 74.x と Chrome 75.x の両方で機能します。('sha256-rRMdkshZyJlCmDX27XnL7g3zXaxv7ei6Sg+yt4R3svU=' means 'javascript:void(0)')

ブラウザのユーザーエージェントは次のとおりです。

user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36 –

関連情報