安全公告

本页列出了自2013年6月以来的所有安全建议。对于较旧的安全提示请参阅此帖子。安全发布公告(从v4.2开始)也包括此处列出.

要接收未来的CiviCRM安全通知,订阅我们的通知。请在此查看我们的详细信息安全策略以及如何报告可疑的安全问题.

CiviCRM包括Smarty v2模板引擎。模板由核心代码、第三方扩展和可配置内容定义。上游smarty.net(智能网)项目已停止发布Smarty v2的安全回端口,因此civicrm.org网站将这样做(直到迁移到较新的Smarty完成为止)。

作为这项工作的一部分,CiviCRM安全团队进行了详细审计,以比较v2/v3/v4的最新问题。

CiviEvent包含多个屏幕,存在跨站点脚本(XSS)漏洞。

一些针对“联系人”档案图像的管理操作缺乏足够的验证,因此容易受到跨站点请求伪造(CSRF)的攻击。

在CiviCampaign中,“Survey”功能包括一个可能易受跨站点脚本(XSS)攻击的字段。

包“jquery-validation”可能容易受到涉及正则表达式处理的拒绝服务(DoS)的攻击。

我们尚未确定会影响CiviCRM的攻击场景,但此次更新似乎是一项安全合理的预防措施。

Select2是一个自动完成的小部件。在CiviCRM使用Select2的多个地方,它容易受到存储跨站点脚本(XSS)攻击。

(我们认为,利用这一点需要攻击者和受害者都具有对同一CiviCRM部署的高级访问权限。)

在~8处发现有问题的代码模式。这些地方都可能受到SQL注入(SQLI)攻击。然而,人们认为,大多数或全部都有防止漏洞利用的缓解因素。

通过任何介质(包括web浏览器)访问APIv3或APIv4的用户都可以执行SQL注入(SQL)攻击。

KCFinder为CKEditor 4提供了一个文件管理对话框。它包括两个漏洞:

  1. 它允许“反射”跨站点脚本(XSS)攻击。
  2. 它绕过了限制文件加载的CiviCRM政策选项。(此绕过仍受其他限制。可能的影响是允许“存储”XSS攻击。但是,可能还有其他影响。)

模板作者可以通过对{数学}功能。

(该问题是Smarty v2常规审计的一部分,CIVI-PSA-2023-01.)

“dompdf”库存在允许远程代码执行的漏洞。它可能被一些后端用户利用。

CivicCRM WordPress模块包括一个“快速添加”小部件,可以用来欺骗另一个用户执行任意HTML和Javascript。

(此漏洞类似于“存储的跨站点脚本”。然而,利用它需要后端特权访问CiviCRM,因此它只能被内部用户利用。)

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

Asset Builder允许CiviCRM及其扩展生成动态资产。一个漏洞使得第三方能够诱骗它使用意外输入生成资产。

利用此漏洞取决于几个细节(例如,资产数据类型、输入参数和web域策略). 对于我们测试的特定资产和配置,攻击受到浏览器“同源策略”的实质性限制。然而,其他资产和其他配置可能会受到更严重的影响。

CiviEvent包含一个用于反射跨站点脚本(XSS)攻击的向量。

“帮助”子系统没有充分验证其源文件的位置/来源。如果与基于web的上传工具结合使用,则用户可以执行任意代码。

使用CiviCRM的标准上传工具,利用此漏洞需要“管理CiviCRM”权限。然而,其他上传工具(如CMS插件)可能会提供其他攻击载体。

处理APIv3 AJAX请求时存在漏洞,允许恶意请求绕过权限检查。

“dompdf”库存在允许远程代码执行的漏洞。它可能被一些后端用户利用。

CKEditor存在允许执行Javascript代码的漏洞。

CiviCRM的准确可利用程度尚未确定。

jQuery UI v1.12包含多个跨站点脚本漏洞。

尚未证明CiviCRM是可利用的。然而,第三方扩展可能会以易受攻击的方式使用jQueryUI。

这不是一个安全漏洞。这是一种防止错误配置的缓解措施。

CiviCRM包含大量可配置的权限。管理员可以将这些权限分配给各种用户和角色。这是一个强大的功能,可以满足不同的需求,但它提供了错误配置的机会。

错误配置可能是由以下几个原因引起的,例如:

在导入CiviEvent的“参与者”记录时,一些输入没有适当转义。

访问“贡献视图”页面时,权限检查不足,这意味着如果您知道url并具有访问CiviCRM权限,则可以查看不应具有的贡献信息。

CiviCRM包括一个富文本编辑组件,CK编辑器,最近发布安全更新(v4.16.2)。此更新解决了3个安全问题。

我们预计这些漏洞不会被自动机器人或爬虫-但它们可能会被利用适度的社会工程因此,我们建议升级(或使用以下替代解决方案之一)。

在从CiviCRM APIv4返回结果之前,未对某些权限进行充分检查。这并不影响CiviCRM的日常使用,但攻击者可能会利用此漏洞绕过安全检查并从数据库读取私人数据。到目前为止,还没有任何已知站点因此错误而受到危害。APIv3未受到影响。