HeroDevs 宣布推出Never-Ending Support (NES) ReactNever-Ending Support (NES) 计划
即将达到生命周期终止的 React 16 和 React 17 的安全性、合规性及业务连续性
.png)
React 是全球应用最广泛的前端库。根据《2025 年 Stack Overflow 开发者调查》显示,约 44% 的开发者使用 React,这使其成为使用最广泛的前端框架;而旧版本仍广泛应用于生产环境:npm 下载数据显示,尽管主动开发已停止多年,React 16 每周仍约有 350 万次下载,React 17 则约有 360 万次下载。 这些数字说明了一个明确的事实:大量企业前端系统仍运行在旧版 React 上,而这些版本可能只能获得有限的上游安全修复。
今天,HeroDevs 宣布推出适用于 React 的Never-Ending Support (NES) ,支持 React 16.x 和 17.x 版本。NES for React 能够持续修复react和react-dom 中的所有严重程度级别的漏洞,作为 npm 的即插即用替代方案,无需对应用程序代码进行任何修改。
了解支持缺口
与Node.js 或Angular 不同,React 没有正式的长期支持(LTS)计划,也没有公布的生命周期结束日期。该项目的版本策略规定,安全修复程序会回溯应用到受影响的主版本中,但这一承诺的范围由项目方自行决定,不涵盖任何明确定义的严重性范围,且没有规定的响应时限。
随着 React 19 成为当前的主版本,React 16 和 React 17 已完全脱离了积极开发阶段。基于这些版本构建的应用程序在生产环境中仍能正常渲染和运行。这正是导致风险容易被忽视的原因:“它还能正常工作”并不等同于“它既安全又受支持”。
EOL 开源软件与合规性的交汇点
由于 React 被打包到基于 JavaScript 的应用程序中,旧版 React 中未修补的漏洞会随每个仍在使用该版本的应用程序一同存在。而不再受支持的开源软件不仅存在安全隐患,还构成合规性缺口——审计人员越来越倾向于将此视为一项违规事项。
包括 SOC 2、PCI DSS v4.0、HIPAA、FedRAMP、DORA 以及欧盟《NIS2 指令》在内的各项标准和法规,无论是直接规定还是通过其风险管理条款,都要求软件组件必须持续获得积极支持,且已知漏洞须在规定时限内得到修复。 如果软件物料清单(SBOM)中显示存在未打补丁的CVE漏洞的旧版React,将会在自动化审计中触发警报;而对于尚未制定修复方案的未决问题,无论面对审计员、客户安全审查还是监管机构,都难以进行合理解释。
HeroDevs NES for React:弥合差距
HeroDevs“永续支持”服务为已停止维护的开源软件提供了一张安全网。 我们的团队会持续监测新披露的 CVE,主动研究我们所支持代码库中的漏洞,将研究结果发布在HeroDevs 漏洞目录中,并通过安全的私有注册表提供已修复的软件包。作为授权的 CVE 编号机构 (CNA),HeroDevs 直接识别、解决并披露开源软件中的漏洞。
NES for React 将这一模型扩展到了 React 生态系统中:
- React 16.x 和 17.x 的 CVE 修复:针对react和react-dom所有严重程度级别的漏洞修复,而不仅仅是“严重”级别的漏洞。
- SLA 承诺:根据严重程度设定合同规定的修复时限,取代基于“尽最大努力”原则的社区善意承诺。
- 即插即用式安装:只需简单切换 npm 注册表,无需修改代码,也无需重构应用程序。
- 合规性对齐:指定供应商、具有约束力的服务水平协议(SLA)以及有据可查的补丁记录,以满足扫描结果的要求,并解答审计员关于不受支持的依赖关系提出的问题。
为什么升级到 React 18 和 19 这么难?
升级到最新版本的 React 仍是长期的最佳实践,而 NES 是实现这一现代化的桥梁,而非其替代方案。但对于企业级应用程序而言,升级很少能立即完成:
- 行为变化:React 18 引入了新的渲染行为,包括并发功能和自动批处理,这些可能会改变现有组件的行为。对于大型代码库,通常需要数月的编码和质量保证工作才能安全地完成迁移。
- 生态系统依赖关系:较旧的 React 应用程序通常依赖于组件库和构建工具,而这些组件和工具本身存在升级限制,其中一些甚至完全没有直接的升级路径。
- 成本与机会成本:根据 HeroDevs 与企业团队合作的经验,迁移单个代码库通常需要 5 万至 25 万美元,且每个应用程序需要 1 到 3 个月的回归测试时间。运行数十甚至数百个 React 应用程序的企业无法在一夜之间完成所有应用程序的迁移,而且每次迁移冲刺都会占用原本用于产品路线图的资源。
NES for React 帮助团队赢回了这段时间。团队现在可以先解决安全和合规风险,然后根据业务优先级安排迁移顺序。
旧版 React 的安全风险
在 19 版之前,React 的 CVE 记录一直保持在相当低的水平,若暗示情况并非如此,则会产生误导。随后,在 2025 年 12 月, React 19 服务器组件中存在一个关键级(CVSS 10.0)的未认证远程代码执行漏洞(CVE-2025-55182),该漏洞引发了各大云服务和 CDN 提供商的紧急安全通告,并在 48 小时内被列入美国网络安全与基础设施安全局(CISA)的“已知被利用漏洞”清单,这表明即使是成熟且受到严格审查的前端生态系统,也可能存在严重漏洞。 我们在《雷电再袭:React/Next.js 的严重RCE漏洞揭示了什么》一文中报道了该事件及其对开源风险的启示。与此同时,人工智能辅助的漏洞发现正在加速整个行业的漏洞披露量:2025年发布的CVE数量达到创纪录的48,185个,较2024年增长20.6%,而2026年发现的漏洞数量仍在持续增加。
过去的安全记录良好并不能保证未来的安全,尤其是在如今有 AI 漏洞发现辅助工具的情况下。对于 React 16 和 17 而言,实际问题很简单:当下一个影响这些版本的漏洞被披露时,您能否获得补丁?借助 NES for React,答案是肯定的——HeroDevs 会在 SLA 规定的时间范围内提供补丁。
您的 JavaScript 技术栈,一站式供应商
NES for React 已加入 HeroDevs 成熟的 JavaScript 产品组合,因此企业可以将前端和后端的遗留系统整合到单一供应商、单一合同和单一 SLA 之下。如果您的 React 应用程序运行在已停止支持的Next.js 版本上,请参阅我们关于Next.js 停止支持日期和版本支持时间表的配套指南,了解这两个生命周期之间的交集。
| 产品 | NES 支持的版本 |
|---|---|
| React 版的 NES | 16.x、17.x |
| NES forNext.js | 12.3.5 |
| NES forNode.js | 12, 14, 16, 18, 20 |
| NES forExpress | 3.x |
采取行动
如果贵组织在生产环境中运行的是 React 16 或 React 17,且无法立即进行迁移,那么下一个 React CVE 不会等待您的迁移路线图。您无需在“计划外的迁移”与“未修复的漏洞”之间做出选择。NES for React 可在您按照自己的时间表进行现代化改造的同时,确保您的应用程序在您需要的时间内始终保持安全、合规且正常运行。
请联系 HeroDevs 团队,以保障您的 React 应用程序的安全;或者获取定制报价,将 React 与Next.js 、Node.js 以及Express 整合到一份合同中。
常见问题
1. NES for React 支持哪些 React 版本?
NES for React 支持 React 16.x 和 17.x 版本,包括react和react-dom两个包。其覆盖范围涵盖所有 CVE 严重性等级的漏洞修复,并根据合同约定的 SLA 提供服务。
2. React 是否有官方的停用日期?
不。React 项目不会公布正式的停用日期,也不维护长期支持(LTS)计划。积极的开发和修复工作都针对最新主版本进行。旧版本可能会根据社区的决定获得关键修复,但没有官方承诺、明确的范围或响应时限。
3. 安装 NES for React 是否需要修改代码?
不。NES for React 是一款可直接替换的方案,可通过您现有的 npm 工作流进行安装。您只需将注册表配置指向安全的 NES 注册表,更新依赖项条目,然后运行 npm install 即可。您的应用程序代码、构建流程和测试均保持不变。
.png)
