/

CVE-2026-100363

Severity:

HIGH RISK

(8.8)

Improper Authorization (CWE-269) in SuiteCRM V8 API

CVE-2026-100363

Undergoing Analysis

Vulnerability type

Category:

Improper Authorization

CWE:

CWE-269

Impact:

Privilege Escalation

Severity:

HIGH RISK

(8.8)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

SuiteCRM's V8 module API allows any authenticated OAuth2 user to perform CRUD operations on modules intended to be administrator-only. A low-privileged user may exploit this authorization gap to change roles and access-control settings, potentially gaining administrator-equivalent control over CRM data and behavior.

SuiteCRM's V8 module API allows any authenticated OAuth2 user to perform CRUD operations on modules intended to be administrator-only. A low-privileged user may exploit this authorization gap to change roles and access-control settings, potentially gaining administrator-equivalent control over CRM data and behavior.

Affected context

The issue occurs in the SuiteCRM V8 module API at /Api/V8/module, where operations involving ACLRoles, ACLActions, and Administration can affect roles, permissions, and global configuration. It is relevant when the API is reachable by authenticated users and authorization checks do not adequately restrict these sensitive operations to administrators.

The issue occurs in the SuiteCRM V8 module API at /Api/V8/module, where operations involving ACLRoles, ACLActions, and Administration can affect roles, permissions, and global configuration. It is relevant when the API is reachable by authenticated users and authorization checks do not adequately restrict these sensitive operations to administrators.

Exploit preconditions

  • Attack surface: SuiteCRM V8 module API
  • Required access: An authenticated OAuth2 account; the described issue affects low-privileged users
  • Trigger point: CRUD operations involving administrator-only modules and security-sensitive ACL or administration data
  • Why exploitation is possible: The API exposes privileged operations without sufficiently enforcing the caller's authorization level
  • Attack surface: SuiteCRM V8 module API
  • Required access: An authenticated OAuth2 account; the described issue affects low-privileged users
  • Trigger point: CRUD operations involving administrator-only modules and security-sensitive ACL or administration data
  • Why exploitation is possible: The API exposes privileged operations without sufficiently enforcing the caller's authorization level

Why this happens

The underlying issue is inadequate authorization enforcement for security-sensitive API operations. When the application permits a caller to create or modify roles, access-control levels, role bindings, or global configuration without verifying the required privilege for each operation, users can exercise authority beyond their intended role. This maps to CWE-269: Improper Privilege Management.

The underlying issue is inadequate authorization enforcement for security-sensitive API operations. When the application permits a caller to create or modify roles, access-control levels, role bindings, or global configuration without verifying the required privilege for each operation, users can exercise authority beyond their intended role. This maps to CWE-269: Improper Privilege Management.

Potential impact

  • A low-privileged user could gain administrator-equivalent access
  • CRM roles and access-control settings may be changed without authorization
  • Sensitive CRM data could be exposed, altered, or deleted
  • Global configuration and application behavior could be modified
  • A low-privileged user could gain administrator-equivalent access
  • CRM roles and access-control settings may be changed without authorization
  • Sensitive CRM data could be exposed, altered, or deleted
  • Global configuration and application behavior could be modified

General mitigation guidance

Defensive approaches generally focus on enforcing authorization at every sensitive operation and limiting the authority available to each account.

  • Deny privileged operations by default and explicitly authorize each action against the caller's role and permissions.
  • Apply consistent server-side checks to role, ACL, and administration changes, including indirect or related-object updates.
  • Treat client-supplied role and authorization data as untrusted; derive effective permissions from trusted server-side state.
  • Separate routine API capabilities from administrative capabilities and follow least-privilege principles.
  • Validate authorization behavior with negative tests for low-privileged accounts and policy checks in the development pipeline.

Defensive approaches generally focus on enforcing authorization at every sensitive operation and limiting the authority available to each account.

  • Deny privileged operations by default and explicitly authorize each action against the caller's role and permissions.
  • Apply consistent server-side checks to role, ACL, and administration changes, including indirect or related-object updates.
  • Treat client-supplied role and authorization data as untrusted; derive effective permissions from trusted server-side state.
  • Separate routine API capabilities from administrative capabilities and follow least-privilege principles.
  • Validate authorization behavior with negative tests for low-privileged accounts and policy checks in the development pipeline.

How teams detect issues like this

  • Review API routes and CRUD handlers for missing or inconsistent authorization checks, especially those accessing ACLRoles, ACLActions, and Administration.
  • Use static analysis or code review rules to flag sensitive data mutations that are not guarded by explicit permission checks.
  • Test API policies with accounts of different privilege levels, verifying that unauthorized role, ACL, and configuration changes are denied.
  • Monitor audit events for unexpected role creation, permission changes, role bindings, or global configuration updates.
  • Enforce centralized authorization policies and require security review for changes to privileged API operations.
  • Review API routes and CRUD handlers for missing or inconsistent authorization checks, especially those accessing ACLRoles, ACLActions, and Administration.
  • Use static analysis or code review rules to flag sensitive data mutations that are not guarded by explicit permission checks.
  • Test API policies with accounts of different privilege levels, verifying that unauthorized role, ACL, and configuration changes are denied.
  • Monitor audit events for unexpected role creation, permission changes, role bindings, or global configuration updates.
  • Enforce centralized authorization policies and require security review for changes to privileged API operations.

Sources

SourceLink
github.comgithub.com/SuiteCRM/SuiteCRM-Core/commit/a11f50180d939f639cc468b5d536e8ad714dfb68
github.comgithub.com/SuiteCRM/SuiteCRM-Core/releases/tag/v8.10.2
github.comgithub.com/SuiteCRM/SuiteCRM/commit/d6bca97a0159ec019a969b86eca32affab3beb7c
github.comgithub.com/SuiteCRM/SuiteCRM/releases/tag/v7.15.2
github.comgithub.com/SuiteCRM/SuiteCRM/security/advisories/GHSA-rxx9-4rg7-c3qp

Frequently asked

questions

An authenticated OAuth2 user with low privileges could attempt the exposed operations; the API's authorization gap is the relevant condition.

No. The described issue allows a low-privileged authenticated user to reach operations intended for administrators.

Enforce server-side, least-privilege authorization for every sensitive operation, including role, ACL, and global configuration changes.

Use deny-by-default policies, centralize permission checks, treat client-supplied authorization data as untrusted, and test that lower-privileged accounts cannot perform administrative actions.

An authenticated OAuth2 user with low privileges could attempt the exposed operations; the API's authorization gap is the relevant condition.

No. The described issue allows a low-privileged authenticated user to reach operations intended for administrators.

Enforce server-side, least-privilege authorization for every sensitive operation, including role, ACL, and global configuration changes.

Use deny-by-default policies, centralize permission checks, treat client-supplied authorization data as untrusted, and test that lower-privileged accounts cannot perform administrative actions.

Find out what's already
exploitable in your codebase.