From 30883ab9c070101ea8daaf955df0f02e75756cbf Mon Sep 17 00:00:00 2001 From: Samirbous <64742097+Samirbous@users.noreply.github.com> Date: Fri, 19 Dec 2025 12:22:44 +0000 Subject: [PATCH] [New] React2Shell Network Security Alert (#5445) * [New] React2Shell Network Security Alert KQL query that reports network security signatures for React2Shell from 4 integrations (Suricata, Fortigate, Cisco FTD and PANW). * Update initial_access_react_server_rce_network_alerts.toml * cisco_ftd schema build-schemas -i cisco_ftd * Update initial_access_react_server_rce_network_alerts.toml * Update pyproject.toml * Update rules/network/initial_access_react_server_rce_network_alerts.toml Co-authored-by: Mika Ayenson, PhD * Update pyproject.toml * Revert "cisco_ftd schema" This reverts commit c97cf58b2180b3c13c29e3901b2a03bfd12463a2. * cisco_ftd schema and manifest * Update pyproject.toml * Revert "cisco_ftd schema and manifest" This reverts commit ff2200f70f0e0cf94864c49fe8e8a13fda930bc9. * Revert "Update pyproject.toml" This reverts commit d382fcdaaa992cac2d4370f5656f81c530b6ec5a. * Reapply "cisco_ftd schema" This reverts commit 1494d4aa3e4f07cebd448fcc2597b4c836a989db. * Revert "Update pyproject.toml" This reverts commit 39e1f5e9e34cc0500bd82bc4662ece259a5234ba. * Revert "cisco_ftd schema" This reverts commit c97cf58b2180b3c13c29e3901b2a03bfd12463a2. * ++ * Update pyproject.toml * integration_cisco_ftd --------- Co-authored-by: Mika Ayenson, PhD --- .../etc/integration-manifests.json.gz | Bin 24648 -> 25291 bytes .../etc/integration-schemas.json.gz | Bin 7511864 -> 7519763 bytes pyproject.toml | 2 +- ...ccess_react_server_rce_network_alerts.toml | 112 ++++++++++++++++++ 4 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 rules/network/initial_access_react_server_rce_network_alerts.toml diff --git a/detection_rules/etc/integration-manifests.json.gz b/detection_rules/etc/integration-manifests.json.gz index 36f54e415b4213d5541c9a9bcef33ac0c3b2dab8..f6f2954e1cbd475c0e7a4ba2c15a600484eb4733 100644 GIT binary patch delta 23585 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 auS>K&0o^*ywW;!TKx2RJu@M3m;Qs*i5#JU7 delta 5520 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.12" diff --git a/rules/network/initial_access_react_server_rce_network_alerts.toml b/rules/network/initial_access_react_server_rce_network_alerts.toml new file mode 100644 index 000000000..c319a5afc --- /dev/null +++ b/rules/network/initial_access_react_server_rce_network_alerts.toml @@ -0,0 +1,112 @@ +[metadata] +creation_date = "2025/12/10" +integration = ["panw", "cisco_ftd", "fortinet_fortigate", "suricata"] +maturity = "production" +updated_date = "2025/12/10" + +[rule] +author = ["Elastic"] +description = """ +This rule identifies network security alerts related to CVE-2025-55182 exploitation attempts from different network security +integrations. CVE-2025-55182 is a critical remote code execution vulnerability in React Server Components (RSC) Flight protocol. +The vulnerability allows attackers to execute arbitrary code on the server by sending specially crafted deserialization payloads +that exploit prototype chain traversal to access the Function constructor. +""" +from = "now-9m" +index = ["logs-panw.panos*", "logs-cisco_ftd.*", "logs-fortinet_fortigate.*", "logs-suricata.*"] +language = "kuery" +license = "Elastic License v2" +name = "React2Shell Network Security Alert" +note = """## Triage and analysis + +### Investigating React2Shell Network Security Alert + +This rule detects exploitation attempts targeting CVE-2025-55182, a critical remote code execution vulnerability in React's Flight protocol used by Next.js and other RSC implementations. The vulnerability stems from insecure prototype chain traversal in the Flight deserializer, allowing attackers to access `__proto__`, `constructor`, and ultimately the `Function` constructor to execute arbitrary code. + +### Possible investigation steps + +- Examine the full HTTP request body to identify the specific attack payload and command being executed. +- Check the response body for `E{"digest":"..."}` patterns which contain command output from successful exploitation. +- Identify the target application and verify if it runs vulnerable React (< 19.1.0) or Next.js (< 15.3.2) versions. +- Review the source IP for other reconnaissance or exploitation attempts against web applications. +- Check for the `Next-Action` header which is required for the exploit to work. +- Correlate with process execution logs to identify if child processes (e.g., shell commands) were spawned by the Node.js process. + +### False positive analysis + +- Legitimate React Server Components traffic will NOT contain `__proto__`, `constructor:constructor`, or code execution patterns. +- Security scanning tools like react2shell-scanner may trigger this rule during authorized penetration testing. +- The combination of prototype pollution patterns with RSC-specific syntax is highly indicative of malicious activity. + +### Response and remediation + +- Immediately update affected applications: React >= 19.1.0, Next.js >= 15.3.2. +- Block the source IP at the WAF/reverse proxy if exploitation is confirmed. +- If HTTP 500 or 303 responses with `digest` output were observed, assume successful code execution and investigate for compromise. +- Review server logs for evidence of command execution (file creation, network connections, process spawning). +- Implement WAF rules to block requests containing `__proto__` or `constructor:constructor` in POST bodies. +""" +references = [ + "https://www.wiz.io/blog/critical-vulnerability-in-react-cve-2025-55182", + "https://github.com/assetnote/react2shell-scanner", + "https://slcyber.io/research-center/high-fidelity-detection-mechanism-for-rsc-next-js-rce-cve-2025-55182-cve-2025-66478/", + "https://github.com/msanft/CVE-2025-55182", +] +risk_score = 73 +rule_id = "1aefed68-eecd-47cc-9044-4a394b60061d" +severity = "high" +tags = [ + "Domain: Network", + "Domain: Application", + "Domain: Web", + "Use Case: Threat Detection", + "Use Case: Vulnerability", + "Tactic: Initial Access", + "Tactic: Execution", + "Data Source: PAN-OS", + "Data Source: Fortinet", + "Data Source: Suricata", + "Data Source: Cisco FTD", + "Resources: Investigation Guide", +] +timestamp_override = "event.ingested" +type = "query" + +query = ''' +(event.dataset:"cisco_ftd.log" and message:"SERVER-WEBAPP React Server Components remote code execution attempt") or +(event.dataset:"fortinet_fortigate.log" and message:"applications3: React.Server.Components.react-flight.Remote.Code.Execution") or +(event.dataset:"panw.panos" and event.action:"exploit_detected" and event.original :*React*Server*) or +(event.dataset:("suricata_corelight" or "suricata.eve") and rule.name:*CVE-2025-55182*) +''' + + +[[rule.threat]] +framework = "MITRE ATT&CK" +[[rule.threat.technique]] +id = "T1190" +name = "Exploit Public-Facing Application" +reference = "https://attack.mitre.org/techniques/T1190/" + + +[rule.threat.tactic] +id = "TA0001" +name = "Initial Access" +reference = "https://attack.mitre.org/tactics/TA0001/" +[[rule.threat]] +framework = "MITRE ATT&CK" +[[rule.threat.technique]] +id = "T1059" +name = "Command and Scripting Interpreter" +reference = "https://attack.mitre.org/techniques/T1059/" +[[rule.threat.technique.subtechnique]] +id = "T1059.007" +name = "JavaScript" +reference = "https://attack.mitre.org/techniques/T1059/007/" + + + +[rule.threat.tactic] +id = "TA0002" +name = "Execution" +reference = "https://attack.mitre.org/tactics/TA0002/" +