%20sha256%20%E3%81%AF%20Chrome%2074.x%20%E3%81%A7%E3%81%AF%E4%B8%80%E8%87%B4%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8C%E3%80%81Chrome%2075.x%20%E3%81%A7%E3%81%AF%E6%AD%A3%E5%B8%B8%E3%81%AB%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
私は自分のサイトに次のように非常に厳格なコンテンツ セキュリティ ポリシー (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 –