/

CVE-2026-108628

Severity:

HIGH RISK

(8.1)

Missing Authorization (CWE-862) in JeecgBoot Endpoint

CVE-2026-108628

Deferred

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-862

Impact:

Privilege Escalation and Unauthorized Permission Modification

Severity:

HIGH RISK

(8.1)

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

JeecgBoot through version 3.9.5 contains a missing authorization flaw in the saveDeptRolePermission endpoint. An authenticated, low-privileged user may modify department role permissions, potentially granting unauthorized menu or button access or revoking permissions assigned to others.

JeecgBoot through version 3.9.5 contains a missing authorization flaw in the saveDeptRolePermission endpoint. An authenticated, low-privileged user may modify department role permissions, potentially granting unauthorized menu or button access or revoking permissions assigned to others.

Affected context

The vulnerability occurs in JeecgBoot deployments that expose the SysDepartPermissionController saveDeptRolePermission endpoint and rely on endpoint-level authentication without sufficiently verifying whether the requesting user may administer the targeted department role. The risk is greatest where ordinary authenticated users can reach this operation and supply roleId or permissionIds values.

The vulnerability occurs in JeecgBoot deployments that expose the SysDepartPermissionController saveDeptRolePermission endpoint and rely on endpoint-level authentication without sufficiently verifying whether the requesting user may administer the targeted department role. The risk is greatest where ordinary authenticated users can reach this operation and supply roleId or permissionIds values.

Exploit preconditions

  • Attack surface: The authenticated web or API endpoint

saveDeptRolePermission

  • Required access: A valid authenticated account; elevated administrative

privileges may not be required

  • Trigger point: Submission of department role and permission identifiers

to SysDepartPermissionController

  • Why exploitation is possible: The endpoint does not adequately enforce

authorization for the requested role and permission changes

  • Attack surface: The authenticated web or API endpoint

saveDeptRolePermission

  • Required access: A valid authenticated account; elevated administrative

privileges may not be required

  • Trigger point: Submission of department role and permission identifiers

to SysDepartPermissionController

  • Why exploitation is possible: The endpoint does not adequately enforce

authorization for the requested role and permission changes

Why this happens

The underlying bug is an authorization design failure in which authentication is treated as sufficient permission to perform a sensitive administrative action. The endpoint accepts role and permission references without reliably checking whether the caller is authorized to modify the targeted department or role. This behavior maps to CWE-862, Missing Authorization, because access control enforcement is absent or incomplete for a protected operation.

The underlying bug is an authorization design failure in which authentication is treated as sufficient permission to perform a sensitive administrative action. The endpoint accepts role and permission references without reliably checking whether the caller is authorized to modify the targeted department or role. This behavior maps to CWE-862, Missing Authorization, because access control enforcement is absent or incomplete for a protected operation.

Potential impact

  • An attacker may grant unauthorized menu or button permissions
  • An attacker could escalate access within the application
  • Existing permissions may be revoked or altered for other users
  • Department-level access controls may be bypassed
  • Unauthorized changes could affect confidentiality, integrity, or availability

of business functions

  • An attacker may grant unauthorized menu or button permissions
  • An attacker could escalate access within the application
  • Existing permissions may be revoked or altered for other users
  • Department-level access controls may be bypassed
  • Unauthorized changes could affect confidentiality, integrity, or availability

of business functions

General mitigation guidance

Mitigation generally centers on enforcing authorization at the server-side

operation boundary rather than relying on authentication or client-side

controls.

Common defensive patterns include:

  • Applying deny-by-default authorization to permission-management endpoints
  • Verifying that the caller may administer the targeted department and role
  • Checking both the requested role scope and each requested permission
  • Treating roleId and permissionIds as untrusted references
  • Using centralized, consistently applied authorization policies
  • Restricting administrative capabilities according to least privilege
  • Recording and reviewing permission changes for accountability
  • Returning uniform responses that do not disclose unauthorized resource

details

Mitigation generally centers on enforcing authorization at the server-side

operation boundary rather than relying on authentication or client-side

controls.

Common defensive patterns include:

  • Applying deny-by-default authorization to permission-management endpoints
  • Verifying that the caller may administer the targeted department and role
  • Checking both the requested role scope and each requested permission
  • Treating roleId and permissionIds as untrusted references
  • Using centralized, consistently applied authorization policies
  • Restricting administrative capabilities according to least privilege
  • Recording and reviewing permission changes for accountability
  • Returning uniform responses that do not disclose unauthorized resource

details

How teams detect issues like this

Organizations commonly look for this issue through:

  • Static analysis of controller methods that mutate roles or permissions
  • Code review checks for authentication checks without resource authorization
  • Tests using ordinary accounts against administrative endpoints
  • Policy checks requiring authorization before role or permission updates
  • Audit monitoring for unusual permission changes or cross-department updates
  • Automated API security testing that evaluates horizontal and vertical access

control boundaries

Organizations commonly look for this issue through:

  • Static analysis of controller methods that mutate roles or permissions
  • Code review checks for authentication checks without resource authorization
  • Tests using ordinary accounts against administrative endpoints
  • Policy checks requiring authorization before role or permission updates
  • Audit monitoring for unusual permission changes or cross-department updates
  • Automated API security testing that evaluates horizontal and vertical access

control boundaries

Sources

SourceLink
github.comgithub.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_dept_role_policy_reads_and_save.py
github.comgithub.com/jeecgboot/JeecgBoot/blob/e3b9dc0aefe1943d9772b026f64ed671a7c82802/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysDepartPermissionController.java#L252-L271
vulncheck.comvulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-savedeptrolepermission-endpoint

Frequently asked

questions

It may be exploitable through the application's web or API interface when the

affected endpoint is reachable and the attacker has a valid account.

The described issue indicates that a low-privileged authenticated user may be

able to submit the permission-management request without the required

administrative authorization.

Enforce server-side, object-level authorization before applying any role or

permission change. The check should confirm both the caller's administrative

authority and the scope of the targeted department and role.

Use centralized access-control policies, test sensitive endpoints with

accounts of different privilege levels, validate resource ownership or scope,

and monitor role and permission changes.

It may be exploitable through the application's web or API interface when the

affected endpoint is reachable and the attacker has a valid account.

The described issue indicates that a low-privileged authenticated user may be

able to submit the permission-management request without the required

administrative authorization.

Enforce server-side, object-level authorization before applying any role or

permission change. The check should confirm both the caller's administrative

authority and the scope of the targeted department and role.

Use centralized access-control policies, test sensitive endpoints with

accounts of different privilege levels, validate resource ownership or scope,

and monitor role and permission changes.

Find out what's already
exploitable in your codebase.