CVE-2023-37286

9.8 CRITICAL

📋 TL;DR

SmartSoft SmartBPM.NET uses a hard-coded machine key that allows unauthenticated remote attackers to send serialized payloads to execute arbitrary code. This affects all systems running vulnerable versions of SmartBPM.NET, enabling complete system compromise. The vulnerability is critical due to its high CVSS score and remote exploitation potential.

💻 Affected Systems

Products:
  • SmartSoft SmartBPM.NET
Versions: All versions prior to patch (specific version range not specified in references)
Operating Systems: Windows (presumed based on .NET framework)
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations are vulnerable due to hard-coded cryptographic key. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system takeover with administrative privileges, data exfiltration, ransomware deployment, and service disruption.

🟠

Likely Case

Remote code execution leading to data theft, lateral movement within the network, and installation of persistent backdoors.

🟢

If Mitigated

Limited impact if network segmentation and strict access controls prevent external access to vulnerable systems.

🌐 Internet-Facing: HIGH - Unauthenticated remote exploitation allows attackers to compromise systems directly from the internet.
🏢 Internal Only: HIGH - Even internally, the vulnerability can be exploited by any network-connected attacker to gain full system control.

🎯 Exploit Status

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

Exploitation requires sending specially crafted serialized payloads using the hard-coded machine key, which is relatively straightforward for attackers with knowledge of the vulnerability.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not specified in provided references

Vendor Advisory: https://www.twcert.org.tw/tw/cp-132-7221-438c6-1.html

Restart Required: Yes

Instructions:

1. Contact SmartSoft for the latest security patch. 2. Apply the patch to all affected SmartBPM.NET installations. 3. Restart the application/services. 4. Verify the fix by testing exploitation attempts.

🔧 Temporary Workarounds

Network Isolation

all

Restrict network access to SmartBPM.NET servers to only trusted IP addresses and networks.

Use firewall rules to block all external access to SmartBPM.NET ports
Implement network segmentation to isolate vulnerable systems

Application Layer Filtering

all

Implement WAF rules to block serialized payloads and suspicious requests to SmartBPM.NET endpoints.

Configure WAF to block requests containing serialized .NET objects
Implement rate limiting on SmartBPM.NET endpoints

🧯 If You Can't Patch

  • Immediately isolate affected systems from internet and untrusted networks
  • Implement strict network segmentation and monitor for exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Check if SmartBPM.NET is running and accessible. Review application configuration for hard-coded machine keys in web.config or application settings.

Check Version:

Check SmartBPM.NET version through application interface or contact vendor for version identification methods.

Verify Fix Applied:

Test if serialized payload exploitation attempts fail. Verify machine key has been changed from default/hard-coded value.

📡 Detection & Monitoring

Log Indicators:

  • Unusual serialization errors in application logs
  • Requests containing serialized .NET objects to SmartBPM.NET endpoints
  • Unexpected process creation or command execution

Network Indicators:

  • Unusual outbound connections from SmartBPM.NET servers
  • Traffic patterns indicating data exfiltration
  • Requests to SmartBPM.NET from unexpected sources

SIEM Query:

source="SmartBPM.NET" AND (event="SerializationError" OR event="MachineKeyValidationFailed") OR destination_port="SmartBPM_Port" AND payload_contains="TypeConfuseDelegate"

🔗 References

📤 Share & Export