内容提要
2025年12月3日,React和Next.js出现严重RCE漏洞“React2shell”,CVSS评分10.0,影响React 19+和Next.js 15/16。攻击者可通过特定请求执行任意代码。已发布补丁修复原型链污染问题。
关键要点
-
2025年12月3日,React和Next.js出现严重RCE漏洞,CVSS评分10.0,称为React2shell。
-
该漏洞影响React 19+和Next.js 15/16,攻击者可通过特定请求执行任意代码。
-
漏洞由安全研究员Lachlan Davidson于2025年11月29日发现,并于12月3日公开。
-
最初认为只有使用rsc作为后端的环境会受到影响,但后续发现影响范围更广。
-
漏洞影响的版本包括React 19.0.0至19.2.0和Next.js 14.3.0-canary至16.x。
-
已发布的修复补丁版本包括React 19.0.1、19.1.2、19.2.1和Next.js 14.3.0-canary.88等。
-
漏洞的核心在于React的新特性RSC(React Server Components),导致原型链污染。
-
Flight协议是React用于在服务端和客户端之间传递信息的协议,漏洞利用依赖于此。
-
Chunk对象在React服务端处理请求时生成,漏洞利用涉及对Chunk对象的解析和处理。
-
通过特定的请求结构,攻击者可以触发原型链污染,从而实现任意代码执行。
-
补丁通过引入Symbol类型常量和hasOwnProperty检查来修复漏洞,防止原型链的未定义属性访问。
-
该漏洞是2025年的重大安全事件,展示了漏洞的影响力和利用链的复杂性。
延伸解读
漏洞影响范围广泛
React2Shell漏洞影响了多个版本的React和Next.js,尤其是React 19+和Next.js 15/16。开发者需要特别关注自己项目中使用的版本,及时更新到修复补丁,以防止潜在的安全风险。
补丁修复机制
此次漏洞的修复通过引入Symbol类型常量和hasOwnProperty检查来防止原型链污染。这表明,开发者在设计新特性时需考虑安全性,避免类似漏洞的再次发生。
利用链的复杂性
React2Shell的利用链展示了攻击者如何通过复杂的请求结构实现任意代码执行。这提醒开发者在处理用户输入时,必须严格验证和过滤数据,以降低被攻击的风险。
延伸问答
React2Shell漏洞的CVSS评分是多少?
CVSS评分为10.0。
React2Shell漏洞影响哪些版本的React和Next.js?
影响React 19.0.0至19.2.0和Next.js 14.3.0-canary至16.x。
React2Shell漏洞是如何被发现的?
该漏洞由安全研究员Lachlan Davidson于2025年11月29日发现,并于12月3日公开。
React2Shell漏洞的核心问题是什么?
漏洞的核心在于React的新特性RSC(React Server Components),导致原型链污染。
React2Shell漏洞的修复补丁包含哪些主要改动?
补丁引入了Symbol类型常量和hasOwnProperty检查,以防止原型链的未定义属性访问。
React2Shell漏洞的利用链是怎样的?
漏洞利用涉及对Chunk对象的解析和处理,通过特定请求结构触发原型链污染,实现任意代码执行。