写在前面
前两天爆出的CVSS 评分10.0的React 反序列化命令执行漏洞,突发奇想,让Trae SOLO对该漏洞进行自主学习、自主开发、并且自主进行漏洞利用,应该挺有意思。
CVE-2025-55182
简单总结一下该漏洞。
React搞了一个React Server Components(RSC)组件模型,支持通过Flight协议(也是为该场景通信设计的协议)进行交互。
在请求数据到达后端路由时(在进入后端逻辑方法之前),服务端会进行反序列化操作,然后基于反序列化的结果会去调用对应的Server Functions(这是一种RPC-over-HTTP的方法调用机制,允许客户端通过HTTP的方式进行RPC调用)执行相应的操作。
而RSC是依赖于react-server-dom-webpack实现的,所以在该包的特定版本中就存在该反序列化漏洞。而Next.js框架作为RSC的最大下游客户,使用漏洞版本的就会被动受到影响。
那么总结一下,只要某个后端服务的路由path使用了漏洞版本的react-server-dom-webpack包去做如下操作:
- 处理Flight请求
- 反序列化Flight数据
- 允许客户端触发Server Functions
那么就有被攻击的风险,修复方式就是升级版本。
详细的我就不展开了,分析的文章遍地都是,本篇的重点还是在SOLO自动化学习、设计、开发和漏洞利用上。
SOLO 启动
首先给它描述需求
搭建一个CVE-2025-55182漏洞的靶场,不要自己伪造漏洞环境,要使用真实的
Next.js的漏洞版本并讲解漏洞原理,以及利用思路手段,并实现利用poc,并完成漏洞利用验证

然后它先去自己网上搜索学习该漏洞,随后自行设计好了方案,看着没啥问题,直接执行

在开发的过程中看了一下依赖,next版本15.0.0正好是漏洞版本,没啥问题

等待它开发完毕

靶场搭建好了,然后到Trae自主验证漏洞环节时,出问题了


它所构造的poc是执行文件写入,然后最后并没有成功,最关键的是,这个时候它验证几次没成功之后就结束任务了!
罗马不是一天建成的,也怪我刚刚指令没有强调漏洞验收结果,那就再给它下达新任务
检查poc和靶场服务是否不符合预期,最终实现poc可成功利用靶场漏洞的目的



最终,它成功了,自主编写了poc并完成了靶场漏洞利用

成功写入了文件
漏洞验证
然后我自己再亲自验证一下,随便找了个网上的poc,github地址:
ruby
https://github.com/msanft/CVE-2025-55182/blob/main/poc.py
执行calc命令弹计算器
arduino
python poc.py http://localhost:3000 calc
验证成功!
这个整体项目还是比较简单的,本来想一句话实现的,这下用了两句话,其实可以优化合并一下:
搭建一个CVE-2025-55182漏洞的靶场,不要自己伪造漏洞环境,要使用真实的Next.js的漏洞版本
并讲解漏洞原理,以及利用思路手段,并达成poc可成功利用靶场漏洞的目的
核心还是得把需求说明白,目标说的越详细效果越好,这也算是Trae SOLO一种新的应用思路了!