CVE-2025-62379CVE-2025-62379是Reflex库中存在的一个开放重定向(Open Redirect)漏洞,CVSS评分为3.1,严重等级为低危(LOW)。Reflex是一个用于以纯Python构建全栈Web应用程序的开发库。该漏洞存在于版本0.5.4至0.8.14之间,影响/auth-codespace端点。
当Reflex应用运行在GitHub Codespaces环境中时,/auth-codespace端点会被自动注册。该端点会将redirect_to查询参数的值直接赋值给客户端链接的href属性,并且在页面加载时自动触发点击事件,从而导致用户被重定向到任意外部URL。攻击者可以利用此漏洞构造恶意链接,诱导用户访问后被重定向到钓鱼网站或其他恶意页面。
值得注意的是,该漏洞的触发条件基于环境变量GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN的设置。即使在生产环境中,如果该环境变量被设置,同样的漏洞行为也会被激活。此外,执行条件基于sessionStorage标志的存在,这意味着在首次访问或使用隐私/无痕浏览窗口时会立即触发。该漏洞已在版本0.8.15中修复,建议用户尽快升级。
该漏洞的技术原理在于/auth-codespace端点对redirect_to查询参数缺乏任何验证机制。具体而言:
1. **路由注册条件**:当检测到GitHub Codespaces环境时(通过环境变量GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN判断),该路由会被自动注册。
2. **参数处理缺陷**:端点接收redirect_to查询参数后,直接将其赋值给HTML元素a标签的href属性,没有进行任何URL验证、scheme白名单检查或内部路径强制限制。
3. **自动触发机制**:页面加载时,代码会立即触发该链接的点击事件(自动导航),无需用户交互即可完成重定向。
4. **触发条件**:执行条件基于sessionStorage中是否存在特定标志,在首次访问或隐私浏览模式下会立即生效。
**攻击方式**:攻击者可以构造类似 https://target.com/auth-codespace?redirect_to=https://evil.com 的恶意链接。当受害者在Codespaces环境中访问该链接时,浏览器会自动导航到evil.com,可用于钓鱼攻击或窃取用户凭据。
**根本原因**:缺少服务器端的origin/scheme白名单验证或内部路径强制执行防御机制。