{"id":"GHSA-xqc2-xf4c-x3h3","kind":"vulnerability","aliases":["GHSA-xqc2-xf4c-x3h3"],"related":[],"title":"Unauthenticated Remote Code Execution in React Server Components","description":"### Impact\r\n\r\nCrafted payloads targeting frameworks supporting React Server Components can lead to remote code execution. This only affects extremely rare cases where responses transport multiple typed arrays and an attacker-controlled value.\r\n\r\nWe recommend updating immediately.\r\n\r\nThe vulnerability exists in versions 19.0.0 through 19.0.8, 19.1.0 through 19.1.9, 19.2.0 through 19.2.8 and 19.3.0 of:\r\n\r\n- react-server-dom-webpack\r\n- react-server-dom-parcel\r\n- react-server-dom-turbopack\r\n\r\n### Patches\r\n\r\nFixes were back ported to versions 19.0.09, 19.1.10, 19.2.9, and 19.3.1.\r\n\r\nIf you are using any of the above packages please upgrade to any of the fixed versions immediately.\r\n\r\nIf your app’s React code does not use a server, your app is not affected by this vulnerability. If your app does not use a framework, bundler, or bundler plugin that supports React Server Components, your app is not affected by this vulnerability.","summary":"Crafted payloads sent to frameworks that use React Server Components can make the server execute attacker-supplied code. The flaw is reachable only in rare cases where responses carry multiple typed arrays and an attacker-controlled value.","severity":"critical","cvss":9.5,"epss":null,"exploited":false,"exploited_at":null,"products":[{"name":"react-server-dom-parcel","fixed":["19.0.9","19.1.10","19.2.9","19.3.1"],"affected":">= 19.0.0, < 19.0.9; >= 19.1.0, < 19.1.10; >= 19.2.0, < 19.2.9; >= 19.3.0, < 19.3.1","ecosystem":"npm"},{"name":"react-server-dom-turbopack","fixed":["19.0.9","19.1.10","19.2.9","19.3.1"],"affected":">= 19.0.0, < 19.0.9; >= 19.1.0, < 19.1.10; >= 19.2.0, < 19.2.9; >= 19.3.0, < 19.3.1","ecosystem":"npm"},{"name":"react-server-dom-webpack","fixed":["19.0.9","19.1.10","19.2.9","19.3.1"],"affected":">= 19.0.0, < 19.0.9; >= 19.1.0, < 19.1.10; >= 19.2.0, < 19.2.9; >= 19.3.0, < 19.3.1","ecosystem":"npm"}],"ecosystems":["npm"],"tags":["next.js","node","package","react","react-server-components"],"not_affected_if":["client-only-react","no-framework","no-server-components"],"how_to_check":"- Check the installed version of `react-server-dom-webpack`, `react-server-dom-parcel` or `react-server-dom-turbopack` with `npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack`\n- Look for these packages in your lockfile and in any framework that bundles them\n- Affected versions are `19.0.0` through `19.0.8`, `19.1.0` through `19.1.9`, `19.2.0` through `19.2.8` and `19.3.0`","fix":"- `react-server-dom-webpack`, `react-server-dom-parcel`, `react-server-dom-turbopack`: `19.0.9`, `19.1.10`, `19.2.9` or `19.3.1` (the fixed version on your release line)","status":"open","published_at":"2026-10-14T17:08:26+00:00","first_seen_at":"2026-11-09T22:53:13+00:00","triaged_at":"2026-11-09T22:54:05+00:00","updated_at":"2026-11-09T22:54:05+00:00","category":"package","confidence":0.8,"triage":{"at":"2026-11-09T22:54:05Z","model":"claude-haiku-5-5","output":{"fix":"- `react-server-dom-webpack`, `react-server-dom-parcel`, `react-server-dom-turbopack`: `19.0.9`, `19.1.10`, `19.2.9` or `19.3.1` (the fixed version on your release line)","reach":"internet","title":"React Server Components: crafted payloads allow remote code execution","impact":"high","summary":"Crafted payloads sent to frameworks that use React Server Components can make the server execute attacker-supplied code. The flaw is reachable only in rare cases where responses carry multiple typed arrays and an attacker-controlled value.","audience":"developers","category":"package","nicknames":[],"who_cares":["react","react-server-components","next.js","node"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"attacker runs code on the server without logging in","analyst_note":"","how_to_check":"- Check the installed version of `react-server-dom-webpack`, `react-server-dom-parcel` or `react-server-dom-turbopack` with `npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack`\n- Look for these packages in your lockfile and in any framework that bundles them\n- Affected versions are `19.0.0` through `19.0.8`, `19.1.0` through `19.1.9`, `19.2.0` through `19.2.8` and `19.3.0`","plain_action":"","product_name":"","needs_analyst":false,"not_affected_if":["no-server-components","client-only-react","no-framework"],"who_is_affected":"Only apps that run React Server Components on a server, through a framework, bundler or bundler plugin that uses these packages. Apps whose React code does not use a server, or that do not use a framework or bundler supporting Server Components, are not affected.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.00084,"input_tokens":5160,"output_tokens":647,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'19.0.0':123C '19.0.09':157C '19.0.8':125C '19.1.0':126C '19.1.10':158C '19.1.9':128C '19.2.0':129C '19.2.8':131C '19.2.9':159C '19.3.0':133C '19.3.1':161C 'affect':98C,195C,220C 'app':182C,192C,201C,217C 'array':74B,107C 'attack':58B,78B,111C 'attacker-control':77B,110C 'attacker-suppli':57B 'back':153C 'bundler':207C,209C 'carri':71B 'case':68B,101C 'code':3A,60B,94C,185C 'compon':8A,41B,51B,89C,215C 'control':79B,112C 'craft':42B,82C 'dom':22A,27A,32A,138C,143C,148C 'execut':4A,56B,95C 'exist':120C 'extrem':99C 'fix':151C,177C 'flaw':62B 'framework':46B,85C,206C 'ghsa':10A,15A 'ghsa-xqc2-xf4c-x3h3':9A,14A 'immedi':117C,179C 'impact':81C 'lead':91C 'make':53B 'multipl':72B,105C 'next.js':34B 'node':35B 'packag':36B,170C 'parcel':23A,144C 'patch':150C 'payload':43B,83C 'pleas':171C 'plugin':210C 'port':154C 'rare':67B,100C 'reachabl':64B 'react':6A,20A,25A,30A,37B,39B,49B,87C,136C,141C,146C,184C,213C 'react-server-compon':38B 'react-server-dom-parcel':19A,140C 'react-server-dom-turbopack':24A,145C 'react-server-dom-webpack':29A,135C 'recommend':115C 'remot':2A,93C 'respons':70B,103C 'sent':44B 'server':7A,21A,26A,31A,40B,50B,55B,88C,137C,142C,147C,190C,214C 'suppli':59B 'support':86C,212C 'target':84C 'transport':104C 'turbopack':28A,149C 'type':73B,106C 'unauthent':1A 'updat':116C 'upgrad':172C 'use':48B,165C,188C,204C 'valu':80B,113C 'version':122C,156C,178C 'vulner':119C,198C,223C 'webpack':33A,139C 'x3h3':13A,18A 'xf4c':12A,17A 'xqc2':11A,16A","nicknames":[],"mitigations":[],"who_affected":"Only apps that run React Server Components on a server, through a framework, bundler or bundler plugin that uses these packages. Apps whose React code does not use a server, or that do not use a framework or bundler supporting Server Components, are not affected.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"developers","plain_action":null,"pkeys":["reactserverdomparcel","reactserverdomturbopack","reactserverdomwebpack"],"ptokens":["dom","parcel","react","server","turbopack","webpack"],"labels":["critical","nextjs","node","npm","package","react","reactservercomponents"],"campaign_type":null,"search_a":"'code':3A 'compon':8A 'dom':22A,27A,32A 'execut':4A 'ghsa':10A,15A 'ghsa-xqc2-xf4c-x3h3':9A,14A 'parcel':23A 'react':6A,20A,25A,30A 'react-server-dom-parcel':19A 'react-server-dom-turbopack':24A 'react-server-dom-webpack':29A 'remot':2A 'server':7A,21A,26A,31A 'turbopack':28A 'unauthent':1A 'webpack':33A 'x3h3':13A,18A 'xf4c':12A,17A 'xqc2':11A,16A","search_b":"'array':74B 'attack':58B,78B 'attacker-control':77B 'attacker-suppli':57B 'carri':71B 'case':68B 'code':60B 'compon':41B,51B 'control':79B 'craft':42B 'execut':56B 'flaw':62B 'framework':46B 'make':53B 'multipl':72B 'next.js':34B 'node':35B 'packag':36B 'payload':43B 'rare':67B 'reachabl':64B 'react':37B,39B,49B 'react-server-compon':38B 'respons':70B 'sent':44B 'server':40B,50B,55B 'suppli':59B 'type':73B 'use':48B 'valu':80B","search_c":"'19.0.0':123C '19.0.09':157C '19.0.8':125C '19.1.0':126C '19.1.10':158C '19.1.9':128C '19.2.0':129C '19.2.8':131C '19.2.9':159C '19.3.0':133C '19.3.1':161C 'affect':98C,195C,220C 'app':182C,192C,201C,217C 'array':107C 'attack':111C 'attacker-control':110C 'back':153C 'bundler':207C,209C 'case':101C 'code':94C,185C 'compon':89C,215C 'control':112C 'craft':82C 'dom':138C,143C,148C 'execut':95C 'exist':120C 'extrem':99C 'fix':151C,177C 'framework':85C,206C 'immedi':117C,179C 'impact':81C 'lead':91C 'multipl':105C 'packag':170C 'parcel':144C 'patch':150C 'payload':83C 'pleas':171C 'plugin':210C 'port':154C 'rare':100C 'react':87C,136C,141C,146C,184C,213C 'react-server-dom-parcel':140C 'react-server-dom-turbopack':145C 'react-server-dom-webpack':135C 'recommend':115C 'remot':93C 'respons':103C 'server':88C,137C,142C,147C,190C,214C 'support':86C,212C 'target':84C 'transport':104C 'turbopack':149C 'type':106C 'updat':116C 'upgrad':172C 'use':165C,188C,204C 'valu':113C 'version':122C,156C,178C 'vulner':119C,198C,223C 'webpack':139C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-14T17:08:26+00:00","kev":null,"cvss_vector":null,"cvss_by":null,"poc_count":0,"sources":[{"source":"ghsa-repo","external_id":"GHSA-xqc2-xf4c-x3h3","url":"https://github.com/react/react/security/advisories/GHSA-xqc2-xf4c-x3h3","severity":"critical","published_at":"2026-10-14T17:08:26+00:00","modified_at":"2026-10-14T17:08:26+00:00","first_seen_at":"2026-11-09T22:53:13+00:00","fetched_at":"2026-11-09T22:53:13+00:00","note":null}],"documents":[{"id":110388,"url":"https://github.com/react/react/security/advisories/GHSA-xqc2-xf4c-x3h3","title":"Maintainer's advisory: github.com","kind":"vendor","source":"ghsa-repo","publisher":"vendor","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Maintainer's advisory: github.com"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}