CVE-2025-55182 – React Server Components RCE via Flight Payl... #1638
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
CVE-2025-55182 is a critical unauthenticated Remote Code Execution (RCE) vulnerability (CVSS 10.0) in the React Server Components (RSC) ecosystem, affecting React Server Components packages 19.0, 19.1.0, 19.1.1, and 19.2.0. It affects any environment that uses the affected
react-server-dom-*packages, including apps that do not explicitly define server functions, because many frameworks pull these packages transitively.RSC communicates with the s...
🔧 Technical Details
Abusing React Flight’s Chunk deserialization and thenables for RCE
React Server Components use the Flight protocol to serialize component trees as internal Chunk objects that are resolved as Promises during server-side parsing. In vulnerable RSC versions, the server does not validate that incoming objects are genuine Chunks and deserializes arbitrary user-supplied structures from the request body. An attacker can send a malicious object shaped like a Chunk that includes a
thenproperty (making it a thenable). When React’s Flight logic processes this Chunk, it invokes the attacker’sthenhandler as part of Promise resolution, giving the attacker access to internal state such as the_responseobject and enabling manipulation of how subsequent data is interpreted and executed.Turning internal RSC gadgets into an RCE primitive via constructor.constructor
Once the attacker has influence over internal gadgets...
🤖 Agent Actions
Summary:
src/pentesting-web/deserialization/README.md, covering the vulnerable RSC versions, exploitation chain (thenable Chunk abuse,_responsegadgeting,Functionconstructor reach), and practical steps for crafting multipart Flight payloads.Testing:
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.