/

CVE-2026-110215

Severity:

HIGH RISK

(8.8)

Missing Authorization (CWE-862) in Youlai-Boot Roles

CVE-2026-110215

Awaiting Analysis

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-862

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

Youlai-Boot contains a missing authorization flaw in the role menu-permission management endpoint. An authenticated, low-privileged user may assign arbitrary menu and button permissions to a role they control, potentially gaining administrator-equivalent access when the permission cache is refreshed.

Youlai-Boot contains a missing authorization flaw in the role menu-permission management endpoint. An authenticated, low-privileged user may assign arbitrary menu and button permissions to a role they control, potentially gaining administrator-equivalent access when the permission cache is refreshed.

Affected context

The issue affects deployments where authenticated users can reach the role-permission API and where authorization checks do not adequately restrict which roles or permissions they may modify. It becomes especially risky when permission changes are written to the Redis cache and subsequently used to authorize administrative operations.

The issue affects deployments where authenticated users can reach the role-permission API and where authorization checks do not adequately restrict which roles or permissions they may modify. It becomes especially risky when permission changes are written to the Redis cache and subsequently used to authorize administrative operations.

Exploit preconditions

  • Attack surface: The authenticated REST endpoint PUT /api/v1/roles/{roleId}/menus
  • Required access: A valid authenticated account with access to the role menu-permission operation
  • Trigger point: Submission of a role permission update followed by permission-cache refresh or reuse
  • Why exploitation is possible: The application does not sufficiently verify that the caller is authorized to assign the requested permissions or modify the selected role
  • Attack surface: The authenticated REST endpoint PUT /api/v1/roles/{roleId}/menus
  • Required access: A valid authenticated account with access to the role menu-permission operation
  • Trigger point: Submission of a role permission update followed by permission-cache refresh or reuse
  • Why exploitation is possible: The application does not sufficiently verify that the caller is authorized to assign the requested permissions or modify the selected role

Why this happens

The vulnerability results from enforcing authentication without enforcing authorization for a sensitive role-permission operation. The endpoint accepts permission changes based on the caller's authenticated identity but fails to perform an effective server-side access-control decision for the target role and requested privileges. This maps to CWE-862: Missing Authorization, where a protected function or resource lacks a required authorization check.

The vulnerability results from enforcing authentication without enforcing authorization for a sensitive role-permission operation. The endpoint accepts permission changes based on the caller's authenticated identity but fails to perform an effective server-side access-control decision for the target role and requested privileges. This maps to CWE-862: Missing Authorization, where a protected function or resource lacks a required authorization check.

Potential impact

  • An authenticated low-privileged user may escalate their effective privileges
  • Attackers could gain access to administrative functions
  • Unauthorized users may modify menus, buttons, or other role capabilities
  • Sensitive data or management operations could become accessible
  • The application could experience integrity loss through unauthorized configuration changes
  • An authenticated low-privileged user may escalate their effective privileges
  • Attackers could gain access to administrative functions
  • Unauthorized users may modify menus, buttons, or other role capabilities
  • Sensitive data or management operations could become accessible
  • The application could experience integrity loss through unauthorized configuration changes

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the server-side operation boundary rather than relying on authentication or client-side controls.

Common defensive patterns include:

  • Apply explicit, deny-by-default authorization checks to role and permission management operations
  • Verify that the caller may modify the specific target role and assign each requested permission
  • Prevent ordinary users from granting administrative or higher-privilege capabilities
  • Validate permission changes against a centrally managed allowlist and privilege hierarchy
  • Treat Redis permission-cache updates as security-sensitive and invalidate or refresh them only after an authorized change
  • Use least-privilege roles and separate administrative permission-management capabilities
  • Record and review high-risk permission changes with audit logging and alerting

Mitigation generally focuses on enforcing authorization at the server-side operation boundary rather than relying on authentication or client-side controls.

Common defensive patterns include:

  • Apply explicit, deny-by-default authorization checks to role and permission management operations
  • Verify that the caller may modify the specific target role and assign each requested permission
  • Prevent ordinary users from granting administrative or higher-privilege capabilities
  • Validate permission changes against a centrally managed allowlist and privilege hierarchy
  • Treat Redis permission-cache updates as security-sensitive and invalidate or refresh them only after an authorized change
  • Use least-privilege roles and separate administrative permission-management capabilities
  • Record and review high-risk permission changes with audit logging and alerting

How teams detect issues like this

Detection can combine code review, automated analysis, and runtime monitoring:

  • Review every role, group, menu, and permission mutation endpoint for object-level and action-level authorization checks
  • Search for controller or service methods that update permissions without a policy or privilege evaluation
  • Test requests using low-privileged accounts against other roles and administrative permissions
  • Verify that cache refresh behavior cannot extend newly assigned privileges beyond the caller's authority
  • Enforce API security policies requiring authorization decisions for sensitive role-management operations
  • Monitor audit logs for unexpected permission grants, administrative privilege changes, or unusual cache invalidations
  • Automated security testing and code-review tools may help identify endpoints that authenticate users without validating authorization scope

Detection can combine code review, automated analysis, and runtime monitoring:

  • Review every role, group, menu, and permission mutation endpoint for object-level and action-level authorization checks
  • Search for controller or service methods that update permissions without a policy or privilege evaluation
  • Test requests using low-privileged accounts against other roles and administrative permissions
  • Verify that cache refresh behavior cannot extend newly assigned privileges beyond the caller's authority
  • Enforce API security policies requiring authorization decisions for sensitive role-management operations
  • Monitor audit logs for unexpected permission grants, administrative privilege changes, or unusual cache invalidations
  • Automated security testing and code-review tools may help identify endpoints that authenticate users without validating authorization scope

Sources

SourceLink
github.comgithub.com/youlaitech/youlai-boot/blob/v2.21.1/src/main/java/com/youlai/boot/system/controller/RoleController.java#L111-L119
github.comgithub.com/youlaitech/youlai-boot/blob/v2.21.1/src/main/java/com/youlai/boot/system/service/impl/RoleServiceImpl.java#L222-L243
github.comgithub.com/youlaitech/youlai-boot/commit/36d2db6dc559817bd4e02b1f33b1998891850497
hackmd.iohackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/youlai-boot-role-menu-assignment-and-user-status-missing-authorization
vulncheck.comvulncheck.com/advisories/youlai-boot-through-2.21.1-missing-authorization-in-role-menu-assignment-allows-privilege-escalation

Frequently asked

questions

Yes, where the affected API is exposed to an authenticated user and the deployment permits that user to submit role-permission updates.

No. The described condition requires authentication, but a low-privileged account may be sufficient if the endpoint does not properly restrict permission assignment.

Enforce server-side, deny-by-default authorization for both the target role and every permission being assigned, including checks against privilege boundaries.

Centralize authorization policy enforcement, test sensitive endpoints with low-privileged accounts, restrict administrative permissions, and audit role changes and permission-cache updates.

Yes, where the affected API is exposed to an authenticated user and the deployment permits that user to submit role-permission updates.

No. The described condition requires authentication, but a low-privileged account may be sufficient if the endpoint does not properly restrict permission assignment.

Enforce server-side, deny-by-default authorization for both the target role and every permission being assigned, including checks against privilege boundaries.

Centralize authorization policy enforcement, test sensitive endpoints with low-privileged accounts, restrict administrative permissions, and audit role changes and permission-cache updates.

Find out what's already
exploitable in your codebase.