IPBUF安全漏洞报告
English
CVE-2026-29925 CVSS 7.7 高危

CVE-2026-29925 Invoice Ninja SSRF漏洞

披露日期: 2026-03-30

漏洞信息

漏洞编号
CVE-2026-29925
漏洞类型
服务端请求伪造 (SSRF)
CVSS评分
7.7 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Invoice Ninja

相关标签

SSRF服务端请求伪造Invoice NinjaCVE-2026-29925高危漏洞内网渗透

漏洞概述

Invoice Ninja v5.12.46和v5.12.48版本存在服务端请求伪造(SSRF)漏洞。攻击者可利用CheckDatabaseRequest.php中的缺陷,通过构造恶意的数据库连接请求,诱导服务器向内网或外部任意地址发起请求。由于该漏洞无需用户交互即可触发,可能导致敏感信息泄露、内网端口扫描,对业务系统安全构成严重威胁。

技术细节

该漏洞根源在于Invoice Ninja在处理数据库连接检查逻辑时,未对用户提交的数据库主机参数实施有效的输入验证和过滤机制。具体而言,CheckDatabaseRequest.php组件直接接收并处理用户提供的host参数,将其用于后端的数据库连接尝试。攻击者可以通过发送特制的HTTP POST请求,将host参数篡改为内网IP地址(如127.0.0.1)、本地回环地址或云服务元数据服务地址(如169.254.169.254)。当服务器端脚本尝试连接该“数据库”时,实际上是在向攻击者指定的内网资源发起HTTP请求或TCP连接。鉴于CVSS向量中Scope Changed(S:C)的特性,攻击者可利用此漏洞突破网络边界,探测内网开放端口、读取敏感服务信息或结合其他漏洞进行更深层次的渗透攻击。

攻击链分析

STEP 1
侦察与探测
攻击者识别出目标系统运行的是Invoice Ninja v5.12.46或v5.12.48版本,并确认存在/setup/check_database接口。
STEP 2
构造恶意请求
攻击者向CheckDatabaseRequest.php发送POST请求,将数据库主机参数修改为内网敏感地址(如127.0.0.1或云元数据地址)。
STEP 3
触发SSRF
服务器端接收到请求后,尝试连接攻击者指定的主机地址,从而向内网发起非预期的连接请求。
STEP 4
信息泄露与利用
根据响应时间或错误回显,攻击者判断内网端口开放状态,或利用云元数据接口窃取临时凭证,为进一步攻击做准备。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-29925 (Invoice Ninja SSRF) # Target: Invoice Ninja v5.12.46 / v5.12.48 target_url = "http://target-domain.com/setup/check_database" # Attackers can manipulate the 'host' field to point to internal resources payload = { "host": "127.0.0.1", # Example: Internal IP "database_name": "test", "database_username": "root", "database_password": "password" } try: response = requests.post(target_url, data=payload) if response.status_code == 200: print("[+] Request sent successfully. Check for time delays or error messages indicating connection attempts.") else: print(f"[-] Unexpected status code: {response.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

Invoice Ninja v5.12.46
Invoice Ninja v5.12.48

防御指南

临时缓解措施
如果无法立即升级,建议在网络边界部署防火墙规则,禁止应用服务器对内网敏感网段(如127.0.0.0/8, 169.254.169.254/32)发起非业务必要的连接。同时,利用Web应用防火墙(WAF)拦截针对setup接口的异常参数请求。

参考链接

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