RSC Report Lab β CVE-2025-55182 (React 19.2.0) #1632
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
π€ Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
π Source Information
π― Content Summary
This repository is a deliberately vulnerable React Server Components (RSC) lab that demonstrates remote code execution (RCE) via a vulnerable version of
react-server-dom-webpack(RSDW) 19.2.0, associated with CVE-2025-55182, combined with a realistic server-side command execution gadget built onchild_process.exec.Stack and vulnerable components
The lab runs on:
react19.2.0react...- Added a new React Server Components / react-server-dom-webpack section inside the deserialization guide explaining how CVE-2025-55182 lets attackers craft
- Documented defensive measures (upgrading React/RSDW, enforcing allow-lists and auth, validating
- Updated the references list to cite the RSC Report Lab repository used for these details.
- Not run (not requested).
π§ Technical Details
Abusing React Server Actions deserialization in react-server-dom-webpack
React Server Components with
react-server-dom-webpackallow clients to trigger server actions by sendingmultipart/form-dataPOST requests that contain special parts like$ACTION_REF_0and$ACTION_0:0. The$ACTION_0:0part holds JSON such as{"id":"module-path#exportName","bound":[arg0,arg1,...]}. In vulnerable versions (e.g. RSDW 19.2.0, CVE-2025-55182),decodeActiontrusts theidandboundfields: it resolvesidto an exported server function and calls it withboundas arguments without extra validation. An attacker who can craft these multipart payloads can directly select any exported server action (e.g.app/server-actions#generateReport) and fully control its parameters, turning any unsafe action into a remotely exploitable gadget....
π€ Agent Actions
Summary:
$ACTION_*multipart payloads thatdecodeActionblindly trusts, including protocol details, PoC HTTP/curl requests, and the Node.js command-execution gadget pattern.boundarguments, and avoidingchild_process.execconcatenation) plus emphasized that no real React client is needed for exploitation.Testing:
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.