有没有办法让Primefaces向多个CSP指令添加NONCE

有没有办法让Primefaces向多个CSP指令添加NONCE,primefaces,content-security-policy,Primefaces,Content Security Policy,我使用的是Primefaces 8.0.7。我的代码使用p:ajaxStatus: <p:ajaxStatus class="25pix"> <f:facet name="start"> <p:graphicImage value="images/ajaxloadingbar.gif" /> </f:facet> <f:facet name="compl

我使用的是Primefaces 8.0.7。我的代码使用p:ajaxStatus:

<p:ajaxStatus class="25pix">
  <f:facet name="start">
    <p:graphicImage value="images/ajaxloadingbar.gif" />
  </f:facet>
  <f:facet name="complete">
    <h:outputText value="" />
  </f:facet>
</p:ajaxStatus>

但是,在运行时,f:facet元素以内联样式结束:

<td>
  <div id="j_idt26" class="25pix">
    <div id="j_idt26_start" style="display:none">
      <img id="j_idt27" src="images/ajaxloadingbar.gif?pfdrid_c=true" alt="" />
    </div>
    <div id="j_idt26_complete" style="display:none"></div>
  </div>
...

...
我的web.xml中的CSP策略为:

<context-param>
    <param-name>primefaces.CSP_POLICY</param-name>
    <param-value>style-src 'self';img-src 'self';connect-src 'self';frame-src 'self';font-src 'self';media-src 'self';object-src 'self';manifest-src 'self';form-action 'self';frame
-ancestors 'self';script-src 'self'</param-value>
</context-param>

primefaces.CSP_策略
样式src‘self’;img src“自我”;连接src“self”;框架src“自我”;字体src“self”;媒体src“自我”;对象src“self”;显示src“自我”;形成行动“自我”;框架
-祖先的“自我”;脚本src'self'
我知道Primefaces会将nonce插入到策略的末尾,但这只会处理脚本src。有没有办法让它也在样式src上插入nonce?或者有没有一种方法可以让f:facet不使用内联样式


谢谢。

PrimeFaces仅支持CSP中的
script src
,不支持所有CSP选项。但是,由于JS代码最容易受到CSP各个方面的攻击,因此它应该保护您。PrimeFaces大量使用内联样式,这就是它目前仅支持JS的原因。我们的OWASP ZAP扫描将此视为中等风险。是否有可能在未来的Primefaces版本中添加样式src保护?需要对Primefaces进行大规模重构才能从所有组件中删除所有内联样式,因此我对此表示怀疑。我会说你的笔测试仪有没有尝试利用CSS漏洞?因为据我所知,如果没有JS代码,他们无法利用内联CSS,而且由于我们的JS受到保护,CSS很难/不可能被利用?