CVE-2024-58342XenForo在2.2.17和2.3.1之前的版本中存在开放重定向漏洞。由于getDynamicRedirect()函数未能充分验证重定向目标,攻击者可利用包含换行符、用户凭据或主机不匹配的特制URL,将用户重定向至任意外部恶意网站。该漏洞攻击复杂度低,无需用户认证,但需要一定程度的用户交互。
该漏洞源于XenForo代码中getDynamicRedirect()函数的验证逻辑缺陷。该函数在处理重定向目标时,未对URL进行严格的主机同源校验和特殊字符过滤。具体而言,攻击者可以在URL参数中注入换行符(CRLF)或指定与当前域名不一致的外部主机地址。由于系统未能有效识别并拦截此类恶意构造的请求,导致函数直接返回攻击者指定的Location头。攻击者利用此漏洞可构建钓鱼链接,诱导受害者点击后,虽然看似访问的是受信任的XenForo站点,但实际会被重定向至攻击者控制的恶意网站,从而窃取用户凭据或进行进一步的社会工程学攻击。