CVE-2026-41661Admidio是一个开源的用户管理解决方案。在5.0.9版本之前,系统存在一个反射型跨站脚本(XSS)漏洞。未经身份验证的攻击者可以通过 `system/msg_window.php` 端点,利用输入过滤机制的缺陷,在任意Admidio用户的浏览器中执行任意JavaScript代码。该漏洞源于 `htmlspecialchars()` 未对特定字符进行编码,随后被转换函数处理为HTML标签,从而绕过安全检查。
该漏洞位于Admidio的 `system/msg_window.php` 文件中。其核心原因在于双重处理逻辑导致的过滤绕过。首先,应用程序使用 PHP 的 `htmlspecialchars()` 函数对用户输入进行转义,以防止XSS攻击。然而,`htmlspecialchars()` 默认不编码方括号 `[]`。随后,代码调用 `Language::prepareTextPlaceholders()` 方法处理文本,该方法将方括号转换为HTML尖括号(例如将 `[` 转换为 `<`,`]` 转换为 `>`)。攻击者只需构造包含方括号的恶意载荷(如 `[img]src=x onerror=alert(1)[/img]`),即可绕过第一层过滤,在后续转换中生成可执行的HTML/JavaScript代码。由于攻击者无需认证即可诱导受害者点击特制链接,该漏洞具有较高的利用风险。