CIVI-SA-2023-04:文件类型限制

出版
2023-02-15 12:00
编写人

CiviCRM的文件加载机制包括一个保护程序,用于限制可接受的文件类型的范围。然而,保护太放松了——在某些配置中,这使权限较低的数据管理员能够执行任意代码。

问题和答案

  • 这会对所有组织产生同等影响吗?

    • 不,这取决于管理角色的设计。如果您可以在不同类型的管理员之间拆分访问权限(例如,“系统管理员”与“区域数据管理员”),则会影响您的安全设计。然而,如果你只同意管理CiviCRM对于那些管理代码的人来说,它不会立即构成威胁。
  • 发生了什么变化?

    • 以前,具有权限的用户可以在web-app中完全配置接受的文件类型列表管理CiviCRM.
    • 现在,文件类型列表仍然是可配置的,但有些文件类型将被视为绝对不安全(无论基于web的配置如何)。
  • 哪些文件类型是绝对不安全? 我可以更新列表吗?

    • 该列表包括*.php文件,*.phar文件以及几种文件类型,这些文件类型过去在公共托管环境中支持服务器端处理。
    • 只有系统管理员才能更新列表。为此,请修改民用设置.php并配置CIVICRM_限制_上传例如:
      define('CIVICRM_RESTRICTED_UPLOADS','/(php|php\d|phtml|phar|pl|py|cgi|asp|js|sh|exe|pcgi\d)/i');
  • 我的网络服务器(Apache/Nginx)限制上传文件夹中服务器端处理的请求。我已经被保护了吗?

    • 部分。这样可以防止最明显的攻击。但您仍然应该应用修复程序来防止更微妙的攻击。
安全风险
关键
脆弱性
任意PHP代码执行
其他
受影响的版本

CiviCRM 5.58.0版(及更早版本)、5.57.3版(及更低版本)

固定版本

CiviCRM版本5.58.1、5.57.4(ESR)

出版日期
解决

升级至CivicCRM的固定版本

信用

Tim Otten(CiviCRM)和Seamus Lee(CiviCRM/JMA咨询)

工具书类

安全/核心#121