/

CVE-2026-108657

Severity:

HIGH RISK

(8.1)

Missing Authorization (CWE-862) in JeecgBoot Tenant

CVE-2026-108657

Deferred

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-862

Impact:

Privilege Escalation and Unauthorized Tenant Administration

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 tenant administrator application approval workflow. Any authenticated user may be able to approve a pending application and obtain tenant administrator pack permissions in a tenant where the workflow is exposed.

JeecgBoot through version 3.9.5 contains a missing authorization flaw in the tenant administrator application approval workflow. Any authenticated user may be able to approve a pending application and obtain tenant administrator pack permissions in a tenant where the workflow is exposed.

Affected context

The vulnerability occurs in JeecgBoot deployments through 3.9.5 where the SysTenantController passApply handler processes tenant administrator applications without adequately verifying that the requesting user has approval authority. Risk is greatest when authenticated users can submit tenant applications and reach the approval workflow exposed through the tenant management API.

The vulnerability occurs in JeecgBoot deployments through 3.9.5 where the SysTenantController passApply handler processes tenant administrator applications without adequately verifying that the requesting user has approval authority. Risk is greatest when authenticated users can submit tenant applications and reach the approval workflow exposed through the tenant management API.

Exploit preconditions

  • Attack surface: Authenticated tenant-management API endpoints
  • Required access: A valid user account with access to the tenant application workflow
  • Trigger point: Processing of a pending application by the passApply handler
  • Why exploitation is possible: The approval operation does not sufficiently enforce the required administrative authorization before changing tenant permissions
  • Attack surface: Authenticated tenant-management API endpoints
  • Required access: A valid user account with access to the tenant application workflow
  • Trigger point: Processing of a pending application by the passApply handler
  • Why exploitation is possible: The approval operation does not sufficiently enforce the required administrative authorization before changing tenant permissions

Why this happens

The underlying bug is an authorization decision failure in a state-changing controller action. The application accepts an authenticated identity as sufficient to invoke an approval operation, without reliably checking whether that identity is authorized to approve tenant administrator requests. This behavior maps to CWE-862, Missing Authorization, because access control enforcement is absent or insufficient for a protected function.

The underlying bug is an authorization decision failure in a state-changing controller action. The application accepts an authenticated identity as sufficient to invoke an approval operation, without reliably checking whether that identity is authorized to approve tenant administrator requests. This behavior maps to CWE-862, Missing Authorization, because access control enforcement is absent or insufficient for a protected function.

Potential impact

  • An authenticated user may gain tenant administrator pack permissions
  • Unauthorized users could modify tenant-level settings or memberships
  • Tenant data and administrative workflows could be exposed to manipulation
  • Compromised tenant privileges could support further abuse within the application
  • An authenticated user may gain tenant administrator pack permissions
  • Unauthorized users could modify tenant-level settings or memberships
  • Tenant data and administrative workflows could be exposed to manipulation
  • Compromised tenant privileges could support further abuse within the application

General mitigation guidance

Mitigation generally centers on enforcing authorization at every protected

state-changing operation rather than relying on authentication alone.

Common defensive patterns include:

  • Applying server-side role and tenant-scope checks before approving applications
  • Ensuring only explicitly authorized tenant administrators or platform operators can approve requests
  • Denying access by default when the caller's role, tenant, or approval scope is absent
  • Rechecking authorization for each workflow transition, including direct API requests
  • Using least-privilege roles and separating application submission from approval responsibilities
  • Auditing approval events and alerting on unexpected role or permission changes

Mitigation generally centers on enforcing authorization at every protected

state-changing operation rather than relying on authentication alone.

Common defensive patterns include:

  • Applying server-side role and tenant-scope checks before approving applications
  • Ensuring only explicitly authorized tenant administrators or platform operators can approve requests
  • Denying access by default when the caller's role, tenant, or approval scope is absent
  • Rechecking authorization for each workflow transition, including direct API requests
  • Using least-privilege roles and separating application submission from approval responsibilities
  • Auditing approval events and alerting on unexpected role or permission changes

How teams detect issues like this

Organizations can look for this class of issue through:

  • Static analysis rules identifying state-changing handlers without nearby authorization checks
  • Code review signals such as controller methods that authenticate users but do not verify roles, tenant scope, or approval authority
  • Integration tests covering unauthorized approval attempts and cross-tenant access
  • Policy enforcement requiring explicit authorization annotations or centralized access-control middleware
  • Audit-log reviews for tenant administrator grants performed by non-administrative accounts

Automated security review tools may help identify missing checks, but endpoint-level authorization tests remain important.

Organizations can look for this class of issue through:

  • Static analysis rules identifying state-changing handlers without nearby authorization checks
  • Code review signals such as controller methods that authenticate users but do not verify roles, tenant scope, or approval authority
  • Integration tests covering unauthorized approval attempts and cross-tenant access
  • Policy enforcement requiring explicit authorization annotations or centralized access-control middleware
  • Audit-log reviews for tenant administrator grants performed by non-administrative accounts

Automated security review tools may help identify missing checks, but endpoint-level authorization tests remain important.

Sources

SourceLink
github.comgithub.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_tenant_ownership_and_pack_approval.py
github.comgithub.com/jeecgboot/JeecgBoot/blob/e3b9dc0aefe1943d9772b026f64ed671a7c82802/jeecg-boot/jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/SysTenantController.java#L838-L842
vulncheck.comvulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-tenant-passapply

Frequently asked

questions

It may be exploitable through the application's HTTP API when the tenant

application workflow is reachable and the attacker has a valid account.

The described workflow requires authentication and access to submit or interact

with tenant administrator applications. Elevated privileges should not be

required if authorization is missing from the approval action.

Enforce server-side authorization for the approval operation, including the

caller's role, tenant scope, and explicit authority to approve applications.

Authentication alone should never authorize this state change.

Use centralized access-control policies, deny-by-default checks, separation of

duties, and automated tests for unauthorized and cross-tenant workflow

transitions.

It may be exploitable through the application's HTTP API when the tenant

application workflow is reachable and the attacker has a valid account.

The described workflow requires authentication and access to submit or interact

with tenant administrator applications. Elevated privileges should not be

required if authorization is missing from the approval action.

Enforce server-side authorization for the approval operation, including the

caller's role, tenant scope, and explicit authority to approve applications.

Authentication alone should never authorize this state change.

Use centralized access-control policies, deny-by-default checks, separation of

duties, and automated tests for unauthorized and cross-tenant workflow

transitions.

Find out what's already
exploitable in your codebase.