CVE-2025-4210

7.3 HIGH

📋 TL;DR

This critical vulnerability in Casdoor allows attackers to bypass authorization checks when creating users via the SCIM endpoint. Attackers can remotely exploit this to create unauthorized user accounts with potentially elevated privileges. All Casdoor instances up to version 1.811.0 are affected.

💻 Affected Systems

Products:
  • Casdoor
Versions: Up to and including 1.811.0
Operating Systems: All platforms running Casdoor
Default Config Vulnerable: ⚠️ Yes
Notes: Any Casdoor instance with SCIM endpoint enabled is vulnerable. The vulnerability is in the core authentication component.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers create administrative accounts, gain full control over the identity management system, and potentially compromise connected systems.

🟠

Likely Case

Unauthorized user creation leading to privilege escalation, data access, and lateral movement within the environment.

🟢

If Mitigated

Limited to attempted unauthorized access attempts that are logged and blocked by network controls.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable without authentication, making internet-facing instances immediate targets.
🏢 Internal Only: MEDIUM - Internal instances are still vulnerable but require network access, reducing exposure surface.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW - Remote exploitation without authentication makes this easily weaponizable.

The vulnerability details are public in the patch commit, making reverse engineering possible. No public exploit code has been identified yet.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.812.0

Vendor Advisory: https://github.com/casdoor/casdoor/releases/tag/v1.812.0

Restart Required: Yes

Instructions:

1. Backup current configuration and data. 2. Stop the Casdoor service. 3. Upgrade to version 1.812.0 using package manager or manual installation. 4. Restart the Casdoor service. 5. Verify the patch is applied by checking the version.

🔧 Temporary Workarounds

Disable SCIM Endpoint

all

Temporarily disable the vulnerable SCIM user creation endpoint if not required.

Modify Casdoor configuration to disable SCIM functionality or block access to /scim endpoints

Network Access Control

linux

Restrict access to SCIM endpoints using firewall rules or WAF.

iptables -A INPUT -p tcp --dport [casdoor_port] -m string --string "/scim" --algo bm -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate Casdoor instances from untrusted networks
  • Deploy a Web Application Firewall (WAF) with rules to detect and block SCIM endpoint exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Check Casdoor version: if version ≤ 1.811.0 and SCIM endpoint is enabled, the system is vulnerable.

Check Version:

Check Casdoor web interface admin panel or application logs for version information

Verify Fix Applied:

Verify version is 1.812.0 or higher and test SCIM user creation with proper authorization checks.

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized SCIM user creation attempts
  • User creation from unexpected IP addresses
  • Failed authorization logs for SCIM endpoints

Network Indicators:

  • Unusual POST requests to /scim endpoints
  • User creation requests without proper authentication headers

SIEM Query:

source="casdoor.log" AND (uri_path="/scim" OR uri_path="/scim/*") AND (http_method="POST" OR http_method="PUT") AND NOT auth_success="true"

🔗 References

📤 Share & Export