These scripts target a critical Next.js / React Server Components (RSC) / Server Actions deserialization flaw (CVSS 10.0).
In affected versions:
- Special internal RSC payload formats
- Combined with multipart/form-data
- And Server Actions headers
can be abused to:
- Poison prototypes
- Reach
Function/constructor - Execute arbitrary Node.js code on the server (RCE)
This is server-side, not a browser-only issue.
They are two stages / variants of the same exploit concept.
Purpose:
- Confirms that attacker-controlled code can reach server execution paths
What it does (high level):
- Sends a crafted Server Action request
- Injects JavaScript into an internal execution prefix
- Executes something harmless (
console.log('meowmeow')) - Checks whether the server reflects execution output back
Think of it as:
“Can I make the server run anything at all?”
This is a smoke test.
Purpose:
- Proves impact severity
- Demonstrates arbitrary OS command execution
What it does (high level):
- Uses the same injection vector
- Reaches Node.js internals (
child_process) - Executes a shell command on the server
- Encodes the result into an error response field
- Decodes it client-side to show success
This answers:
“If exploited, can this fully compromise the server?”
The answer is yes.
At a conceptual level, the bug is caused by:
- Trusting client-controlled RSC payloads
- Unsafe object hydration / deserialization
- Prototype chain access (
__proto__,constructor) - Server Actions executing during request parsing
- Error objects leaking execution results
In short:
Data that should be inert is treated as executable logic.
Because it is:
- Remote
- Unauthenticated
- No user interaction
- Full server takeover
- Works over HTTP
- Leads to data theft, ransomware, supply-chain attacks
This is the worst possible class of web vulnerability.
Legitimate uses only:
- Security researchers
- Framework maintainers
- Red-team / pentesting teams (with authorization)
- Internal security validation before patch rollout
If you see this in a repo or server unexpectedly → that’s a breach indicator.
If you’re maintaining a React / Next.js app:
-
Immediately upgrade Next.js to the patched version
-
Disable or restrict Server Actions if not needed
-
Block untrusted multipart/form-data to action endpoints
-
Add WAF rules for:
Next-Action- RSC content types
-
Rotate secrets if exposure is suspected
-
Assume compromise if logs show exploitation attempts
I’m intentionally not explaining:
- How to adapt this
- How to weaponize it
- How to bypass mitigations
If your goal is defense, patching, or understanding risk, this explanation should be enough.