Skip to content

CiviCRM Security Release (6.15.3, 6.10.7-ESR) - #157

Open
Chen-LiYin wants to merge 14 commits into
NETivism:developfrom
Chen-LiYin:develop
Open

CiviCRM Security Release (6.15.3, 6.10.7-ESR)#157
Chen-LiYin wants to merge 14 commits into
NETivism:developfrom
Chen-LiYin:develop

Conversation

@Chen-LiYin

@Chen-LiYin Chen-LiYin commented Aug 6, 2026

Copy link
Copy Markdown
Contributor
  • SA-2026-19:Stored XSS in Grant Type
修改的檔案與行號:

檔案  行號  漏洞變數    修改方式
templates/CRM/Grant/Form/GrantView.tpl  L49 {$grantStatus}  加 |escape
templates/CRM/Grant/Form/GrantView.tpl  L50 {$grantType}    加 |escape
templates/CRM/Grant/Form/Selector.tpl   L60 {$row.grant_status} 加 |escape
templates/CRM/Grant/Form/Selector.tpl   L61 {$row.grant_type}   加 |escape
templates/CRM/Grant/Form/Task/Print.tpl L47 {$row.grant_status} 加 |escape
templates/CRM/Grant/Form/Task/Print.tpl L48 {$row.grant_type}   加 |escape

  • SA-2026-20:Stored XSS in Website URL
修改的檔案與行號:

檔案  行號  漏洞變數    修改方式
templates/CRM/Contact/Page/View/Summary.tpl L207    {$item.website_type}    加 |escape
templates/CRM/Contact/Page/View/Summary.tpl L208    {$item.url}(出現兩次:href 屬性與連結文字)  兩處都加 |escape
  • SA-2026-21 + SA-2026-27:Event Template Title / Participant Status XSS
修改的檔案與行號:

檔案  行號  漏洞變數    修改方式
templates/CRM/Admin/Page/EventTemplate.tpl  L58 {$row.template_title}   加 |escape
templates/CRM/Admin/Page/EventTemplate.tpl  L59 {$row.event_type}   加 |escape
templates/CRM/Admin/Page/EventTemplate.tpl  L60 {$row.participant_role} 加 |escape
templates/CRM/Event/Form/Selector.tpl   L112    {$row.participant_status_id}    加 |escape
templates/CRM/Event/Form/Selector.tpl   L113    {$row.participant_role_id}  加 |escape
templates/CRM/Event/Page/ManageEvent.tpl    L64 {$row.event_type}   加 |escape
  • SA-2026-22:Stored XSS in Membership Type 

  • SA-2026-23:Stored XSS in Price Field label
    都是加escape處理

  • SA-2026-24:RCE via File API
    部分一:URI 路徑穿越
    處理 api/v3/File.php
    部分二:processAttachment 架構限制
    filePostProcess 進行 $data 的驗證
    API測試成功

  • SA-2026-25:Stored XSS in Tag Name
    templates/CRM/Tag/Form/Tag.tpl 加  escape

  • SA-2026-26:Unauthorized access to Files via APIv3
    CRM/Core/Page/File.php 修改位置在 L68 和 L70 之間,就是 $path 確認存在之後、讀取檔案內容之前。

  • SA-2026-28:Escalation via Extension Download API
    由於netiCRM 沒有使用 api/v3/Extension.php,所以直接刪除此檔案

  • SA-2026-30:Stored XSS in File Attachments
    改 $element.field_value.fileName
    unkown 驗證成功

  • SA-2026-31:SQLI in GroupContact Create APIv3
    CRM/Contact/BAO/GroupContact.php 的 bulkAddContactsToGroup() 函數直接把 $method、$status、$tracking 字串插值到 SQL 語句中,未做任何跳脫

  • SA-2026-32:Stored XSS in Profile Help

修改的檔案與行號:

檔案  行號  漏洞變數    修改方式
templates/CRM/Profile/Form/Dynamic.tpl  L58 {$groupHelpPost}    改為 {$groupHelpPost|purify}
templates/CRM/Profile/Form/Dynamic.tpl  L74 {$field.groupHelpPre}   改為 {$field.groupHelpPre|purify}
templates/CRM/Profile/Form/Dynamic.tpl  L161    {$field.help_post}  改為 {$field.help_post|purify}
templates/CRM/Profile/Form/Dynamic.tpl  L175    {$field.groupHelpPost}  改為 {$field.groupHelpPost|purify}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant