CVE-2023-36825

9.6 CRITICAL

📋 TL;DR

This vulnerability in the Orchid Laravel package allows remote code execution through deserialization of untrusted data from the '_state' query parameter. Attackers can exploit this to execute arbitrary code on affected systems. All users running vulnerable versions of Orchid are affected.

💻 Affected Systems

Products:
  • Orchid (Laravel package)
Versions: 14.0.0-alpha4 through 14.4.x
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Any Laravel application using the vulnerable Orchid package versions is affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full system compromise allowing attackers to execute arbitrary code, steal data, install malware, or pivot to other systems.

🟠

Likely Case

Remote code execution leading to data theft, backdoor installation, or service disruption.

🟢

If Mitigated

Limited impact if proper network segmentation and least privilege principles are implemented, though RCE still poses significant risk.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is in a widely used Laravel package and exploitation appears straightforward based on the advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 14.5.0

Vendor Advisory: https://github.com/orchidsoftware/platform/security/advisories/GHSA-ph6g-p72v-pc3p

Restart Required: No

Instructions:

1. Check current Orchid version in composer.json
2. Update composer.json to require "orchid/platform": "^14.5.0"
3. Run 'composer update orchid/platform'
4. Test application functionality

🔧 Temporary Workarounds

No official workarounds

all

The vendor states there are no known workarounds for this vulnerability.

🧯 If You Can't Patch

  • Implement strict network controls to limit access to affected applications
  • Deploy web application firewall with deserialization attack detection rules

🔍 How to Verify

Check if Vulnerable:

Check composer.json for Orchid version: grep -i orchid composer.json

Check Version:

composer show orchid/platform | grep versions

Verify Fix Applied:

Verify installed version: composer show orchid/platform | grep versions

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST/GET requests containing '_state' parameter
  • Unexpected process execution from web server context
  • Errors related to deserialization in application logs

Network Indicators:

  • HTTP requests with '_state' parameter containing serialized data patterns
  • Outbound connections from web server to unexpected destinations

SIEM Query:

web_access_logs | where url contains "_state=" | where url matches "\\.*[Oo]:[0-9]+:.*\\.*"

🔗 References

📤 Share & Export