CVE-2025-11953 高危来袭:React Native CLI 曝远程命令执行漏洞,全球万级资产受威胁
近日,奇安信CERT监测到React Native生态中出现高危安全漏洞——React Native CLI远程命令执行漏洞(CVE-2025-11953,QVD-2025-42686),其CVSS 3.1评分为9.8(最高10分),属于“Critical”级别威胁。该漏洞因内置开发服务器的输入处理缺陷,可让未经身份验证的攻击者直接在目标服务器上执行任意命令,且目前漏洞的POC(概念验证代码)、EXP(漏洞利用工具)及技术细节已完全公开,利用门槛极低。考虑到React Native CLI本周下载量达151万次,广泛应用于跨平台App开发,此漏洞可能引发大规模攻击事件,开发及运维团队需紧急响应。
一、漏洞核心概况:从组件定位到风险量级
React Native CLI是Facebook(现Meta)主导的开源工具集,是React Native跨平台应用开发的“标配工具”,而其内置的Metro Development Server( Metro开发服务器)是漏洞的核心载体——该服务器默认会绑定到外部网络接口(而非仅本地回环地址),本意是方便开发团队在多设备间调试,但却因输入校验机制缺失埋下安全隐患。
漏洞的关键风险参数已明确,其危害程度可通过以下核心信息直观判断:
| 关键指标 | 详情 |
|---|---|
| 漏洞编号 | CVE-2025-11953(国际通用)、QVD-2025-42686(奇安信内部编号) |
| 风险评级 | 高危(奇安信)、CVSS 3.1 9.8分(最高危级别) |
| 威胁类型 | 远程命令执行(RCE)——攻击者可执行任意系统命令(如植入木马、窃取数据) |
| 利用难度 | 低(POC/EXP已公开,无复杂技术门槛) |
| 影响范围 | React Native CLI 4.8.0 ≤ 版本 < 20.0.0(覆盖近5年主流版本) |
| 资产影响量级 | 全球风险资产1285个,关联IP 769个(奇安信鹰图资产测绘平台数据) |
| 生产环境风险 | 高(若开发服务器被误暴露到生产环境,直接面临攻击) |
二、漏洞原理与攻击路径:一行请求即可触发命令执行
该漏洞的本质是Metro Development Server对用户输入的“无过滤处理” ——服务器在接收POST请求时,会直接将请求中的特定参数作为系统命令的一部分执行,未做任何转义或合法性校验。这意味着攻击者无需登录验证,只需向目标服务器的Metro端口(默认8081)发送一条构造好的POST请求,即可触发命令执行。
1. 漏洞触发的核心逻辑
Metro Development Server在处理“模块热更新”“资源编译”等开发场景的请求时,会调用操作系统的命令行工具(如Windows的cmd、Linux的bash)。由于代码中未对请求携带的“资源路径”“编译参数”等输入做过滤,攻击者可通过在请求中注入特殊字符(如; | && 等命令连接符),将原本的合法命令拼接为恶意命令。
例如,正常请求是获取某个JS模块资源,而攻击者可通过注入calc.exe(Windows计算器程序),让服务器执行“获取资源+启动计算器”的组合操作——这一过程仅需一条curl命令即可完成,奇安信安全研究员已成功复现该场景:
# 攻击者发送的恶意POST请求(Windows环境示例)
curl -X POST http://[目标IP]:8081/ -d ":\"calc.exe\""
执行后,目标服务器会直接弹出计算器程序,若将calc.exe替换为nc.exe(反向连接工具)或rm -rf /(Linux下删除所有文件),则会造成数据泄露、系统崩溃等严重后果。
2. 攻击的“高可行性”原因
- 无需身份验证:Metro服务器默认无登录校验,任何能访问8081端口的攻击者均可发起攻击;
- 端口易暴露:部分开发团队为方便远程调试,会将Metro服务器的8081端口通过路由器端口映射、云服务器安全组开放等方式暴露到公网;
- 工具现成:GitHub、暗网等平台已出现针对该漏洞的自动化攻击脚本,新手攻击者也能“一键利用”。
三、全球资产风险分布:美国、欧洲成重灾区,中国资产需警惕
根据奇安信鹰图资产测绘平台的实时扫描数据,截至2025年11月4日,全球关联该漏洞的风险资产共1285个,涉及769个独立IP,主要分布在科技产业发达的国家和地区,其中:
- TOP 3 高风险国家:美国(311个资产)、德国(166个资产)、韩国(164个资产),这三个国家的受影响资产占全球总量的57%,主要因当地互联网企业、跨平台开发团队密集;
- 中国风险情况:中国地区受影响资产共122个,关联IP 89个,主要集中在互联网、金融科技、电商等依赖React Native开发App的行业,若不及时修复,可能成为攻击者的“重点目标”;
- 其他受影响地区:法国(160个)、印度(52个)、爱尔兰(21个)等国家也存在较多风险资产,全球化开发团队需同步排查。
四、紧急处置与长期防护:两步实现漏洞闭环
目前React Native社区已发布修复版本,所有受影响用户需优先完成“版本更新”,同时结合生产环境的安全配置,彻底阻断攻击路径。
1. 紧急修复:更新到安全版本(优先级最高)
React Native CLI官方已在20.0.0版本中修复该漏洞——通过添加输入过滤模块,对所有POST请求中的参数进行转义处理,禁止命令拼接。相关团队需:
- 检查当前React Native CLI版本:在项目根目录执行
npx react-native --version,确认是否在4.8.0~19.9.9区间; - 升级到安全版本:执行
npm install -g react-native-cli@latest(全局升级)或npm install react-native-cli@20.0.0 --save-dev(项目本地升级); - 验证修复效果:升级后重启Metro服务器,尝试发送恶意POST请求,若服务器返回“参数非法”或无命令执行,则修复成功。
2. 环境加固:避免开发服务器暴露(长期防护)
即使完成版本更新,也需规范开发环境配置,避免因“配置疏忽”引入新风险:
- 禁止生产环境暴露Metro端口:Metro是开发专用服务器,严禁在生产服务器、云主机上启动该服务;若需远程调试,仅通过VPN、内网穿透工具(如FRP)开放给信任的开发IP,不直接映射公网端口;
- 限制Metro绑定地址:启动Metro时,通过
react-native start --host 127.0.0.1命令,强制让服务器仅绑定本地回环地址,拒绝外部网络访问; - 定期依赖审计:使用
npm audit或yarn audit工具,定期检查项目依赖中的安全漏洞,避免因其他第三方包引入类似风险。
五、参考与溯源:关注官方动态,获取最新情报
为确保防护措施的准确性,建议相关团队参考以下官方及权威资料:
- React Native CLI官方修复公告及下载地址:https://github.com/react-native-community/cli/releases
- JFrog安全研究团队漏洞分析报告(首次披露漏洞细节):https://research.jfrog.com/vulnerabilities/react-native-cli-command-injection-jfsa-2025-001495618/
- 奇安信CERT漏洞应急响应指南:通过奇安信威胁情报平台获取实时攻击数据及防护工具。
总结
CVE-2025-11953的高危性不仅在于“远程命令执行”的严重危害,更在于其“高利用性+广影响面”的组合——React Native的普及度让漏洞覆盖大量开发团队,而POC的公开则降低了攻击门槛。对于依赖React Native CLI的企业及开发者,当前最关键的动作是“立即核查版本+更新修复+加固环境”,避免因延迟响应导致服务器被入侵、数据被窃取等重大损失。后续需持续关注React Native生态的安全公告,将“依赖版本审计”纳入日常开发流程,从源头降低漏洞风险。
更多推荐

所有评论(0)