lachlan2k/React2Shell-CVE-2025-55182-original-poc: Original Proof-of-Concept's for React2Shell CVE-2025-55182
嗯,用户让我用中文总结一篇文章,控制在100字以内,而且不需要特定的开头。首先,我得仔细阅读文章内容,理解主要信息。 文章主要讲的是React2Shell的三个PoC(概念验证),分别是针对不同情况开发的。第一个PoC适用于Next.js的开发构建,第二个是提交给Meta的主要版本,第三个是被Sylvie哈希并发布的。作者还简要解释了PoC的工作原理,涉及$@x、Chunk对象、then函数和FormData等机制。 接下来,我需要将这些信息浓缩到100字以内。要确保涵盖三个PoC及其用途,以及基本的工作原理。同时,语言要简洁明了,避免使用复杂的术语。 可能会遇到的问题是如何在有限的字数内全面覆盖所有要点。可能需要舍弃一些细节,比如每个PoC的具体技术点,只保留核心信息。 最后,检查一下总结是否符合要求:100字以内,直接描述内容,没有特定开头。确保没有遗漏关键点,并且表达清晰。 </think> 该文章介绍了React2Shell的三个概念验证(PoC),包括针对Next.js开发构建、提交给Meta的主要版本以及被第三方发布的版本,并简要解释了其工作原理和差异。 2025-12-5 10:19:28 Author: govuln.com(查看原文) 阅读量:5 收藏

As public PoCs are circulating and Google's Scanner uses a variation of my original submitted PoC, it's finally a responsible time to share my original PoCs for React2Shell.

This repository contains 3 PoCs:

  • 00-very-first-rce-poc - the very first PoC I managed to develop for RCE. Only directly works on dev builds of Next.js sites that use Webpack.
  • 01-submitted-poc.js (the main one) - the exact PoC I submitted to Meta, far simpler and effective
  • 02-meow-rce-poc - the PoC hashed and posted as proof by Sylvie on November 29th, shortly before initial disclosure to Meta

TL;DR

Many other people have explained their PoCs, but here's my very brief explainer:

  • $@x gives you access to a Chunk
  • We plant its then on our own object
  • The JS runtime automatically unravels nested promises (really, anything with a .then function)
  • We now re-enter the parser, but with control of a malicious fake Chunk object
  • Planting things on _response lets us access a lot of gadgets when this happens
  • (insert several options here)
  • RCE

Some Differences in PoC

You might notice my PoC has a funny thing going on in then. This was a nice primitive I was using for 'chaining' multiple chunks together, where resolve is passed to Array.map to let me "hop" to another chunk defined in $0.

The publicly recreated PoC circulating doesn't do this, as it's not necessary when just doing a single jump. It was nice to see that the re-created PoC did otherwise use the same _formData gadget that mine did - but the 00- PoC is a wild ride, if you dare try to read it :)

Full Writeup

Soon.


文章来源: https://govuln.com/news/url/kbQx
如有侵权请联系:admin#unsafe.sh