CVE-2026-39371RedwoodJS SDK是一款服务端优先的React框架。在1.0.0-beta.50至1.0.5版本中,存在一个安全漏洞,允许攻击者通过GET请求调用原本应限制为特定HTTP方法的服务端函数。由于浏览器会在顶级GET请求中发送SameSite=Lax的Cookie,攻击者可以利用跨站点导航触发状态更改操作,从而绕过预期的安全检查。该漏洞影响了所有服务端函数,包括serverAction()处理程序和“use server”文件中直接导出的函数。开发者应尽快升级至1.0.6版本以修复此问题。
该漏洞的核心在于RedwoodJS未能正确验证“use server”文件导出函数的HTTP请求方法。在标准的Web开发安全模型中,导致状态变更的操作(如创建、更新、删除数据)应当仅通过POST、PUT或DELETE等非幂等请求方法执行,以防止跨站请求伪造(CSRF)攻击。然而,受影响版本错误地允许通过GET请求执行这些敏感操作。
在基于Cookie认证的应用程序中,当SameSite属性设置为Lax(默认设置)时,浏览器会在用户从外部网站导航到目标网站的顶级GET请求中自动附带认证Cookie。攻击者可以构造恶意的URL链接,诱导已登录的受害者点击。一旦受害者访问该链接,浏览器将自动发送带有身份凭证的GET请求,导致目标服务器执行攻击者指定的服务端函数。这不仅破坏了HTTP语义的正确性,还使得任何导出的服务端函数都面临未授权调用的风险,攻击者无需复杂的交互即可执行敏感操作,如修改数据或更改用户权限。