“dompdf”库存在允许远程代码执行的漏洞。它可能被一些后端用户利用。
解决
升级至CiviCRM v5.48.0、v5.47.4或5.45.5 ESR
或者,如果您无法升级CiviCRM,那么以下任何一项都可以解决安全问题:
-
对dompdf设置严格限制。编辑民用设置.php
并覆盖此选项:
//临时覆盖:此站点的dompdf版本不安全(<1.2.1),因此有些功能//暂时禁用。您可以在升级后删除此项(dompdf 1.2.1+;Civi 5.47.4+)。$civicrm_setting['domain']['dompdf_enable_remote']=FALSE;
注意:这可以防止任何用户运行易受攻击的代码。然而,它也限制了生成PDF的能力。例如,如果您生成带有图像或徽标的发票PDF,则不会显示图像。
-
手动将dompdf升级到v1.2.1+(对于Drupal 8/9项目)。在您的网站上,下载安全版本:
作曲家要求“dompdf/dompdf:1.2.1 as 1.0.3”
注意:这对于短期覆盖很有用。将来,当您有机会更新CiviCRM时,您需要编辑组合器.json
并删除此覆盖。
如果您应用替代解决方案,应用程序仍会显示一条鼓励升级的消息,但它可以安全地抵御dompdf漏洞。
信用
Maximilian Kirchmeier和Fabian Bräunlein(积极安全)用于识别和记录漏洞。
Brian Sweeney(dompdf)开发修复程序。
CiviCRM安全团队和Luke Stewart(Fuzion)负责CiviCRM的移植和QA。