CVE-2026-38532 漏洞总结 漏洞概述 漏洞名称:Krayin CRM 对象级授权漏洞 (BOLA/IDOR) CVE ID:CVE-2026-38532 漏洞类型:Broken Object-Level Authorization / BOLA / IDOR (CWE-639) 攻击类型:远程 / 网络 认证要求:是(低权限认证用户) CVSS 评分:8.1 (High) 受影响产品:Krayin CRM (版本 2.2.x) 受影响文件: 影响范围 机密性 (Confidentiality):高。任何认证用户均可读取其他用户拥有的所有联系人记录(包括个人信息、电话号码、电子邮件地址等)。 完整性 (Integrity):高。任何认证用户均可修改或永久删除属于其他用户的联系人。 可用性 (Availability):无(直接)。 业务影响:客户联系数据泄露(潜在 GDPR/隐私影响);未经授权修改或删除客户记录;竞争情报丢失。 技术分析与修复方案 根本原因:在 中处理联系人操作时,未验证请求的联系人对象是否属于当前认证用户。 修复方案: 1. 对象级授权:在处理任何 GET/PUT/DELETE 请求前,验证 或有效的委托授权。 2. Laravel Policy 类:实现 ,包含 , , 方法来强制执行所有权检查。 3. 共享基础授权:鉴于该问题在多个资源类型(leads, activities, contacts, users)中普遍存在,建议实现一个共享的 供所有资源控制器继承。 4. 审计日志:记录所有跨用户联系人访问尝试。 概念验证 (POC) 页面中未提供完整的 POC 代码块,但提供了利用路径说明: 利用方式:通过替换 参数为其他用户的联系人 ID,即可访问、修改或删除非当前用户拥有的联系人数据。 详细 POC:参见页面中的 文件。