React2Shell is a vulnerability affecting certain React-based applications where unsafe rendering or improper handling of dynamic input can allow malicious code execution paths.

In simple words:

If an application improperly handles user-controlled input inside certain React components, it may lead to:

  • Injection issues
  • DOM manipulation vulnerabilities
  • In severe cases, shell access depending on backend misconfigurations

How I Found It (The Simple Way)

During testing, I followed my usual methodology:

  1. Identify tech stack
  2. Check exposed JS files
  3. Review client-side components
  4. Test for known React-related misconfigurations

Extension Used: RSC Security Tools

A Chrome extension for detecting React Server Components (RSC) and Next.js App Router fingerprints on web pages.

This extension helps detect:

  • Automatically scans web pages for RSC indicators
  • Sends controlled RSC probe request
  • Content-Type Analysis: Detects text/x-component responses

How To Install RSC Security Tools:

Follow the installation instructions on the RSC Security Tools GitHub page.

How I Used It During VAPT

After installing the extension:

  1. I opened the target web application.
  2. Clicked the RSC Security Tools icon.
None
Confirm Command Injection Capability
None
Verify Execution Context

Why This Matters for Non-Security Teams

You don't need to be a penetration tester to run basic checks

Even internal IT teams can:

  1. Install RSC Security Tools
  2. Visit their organization's web apps
  3. Check detected frameworks
  4. Flag suspicious findings to security teams

Lessons From This Engagement

What I learned (again):

  1. Sometimes simple tools are powerful.
  2. Browser extensions can surface real security gaps.
  3. Many organizations don't monitor frontend security posture.
  4. React misconfigurations are common in real environments.