{"id":"CVE-2026-108657","published":"2026-10-10T22:16:41.923","lastModified":"2026-10-13T20:42:49.903","description":"JeecgBoot through 3.9.5 contains a missing authorization vulnerability in the SysTenantController passApply handler that allows any authenticated user to approve tenant administrator applications. Attackers can file a pending application via doApplyTenantPackUser and approve it through PUT /sys/tenant/passApply to gain tenant administrator pack permissions in any tenant.","cvssScore":8.1,"cvssSeverity":"HIGH","cvssVector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","cwes":["CWE-862"],"vendors":[],"products":[],"references":[{"url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_tenant_ownership_and_pack_approval.py","tags":[]},{"url":"https://github.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","tags":[]},{"url":"https://www.vulncheck.com/advisories/jeecgboot-through-3.9.5-missing-authorization-via-sys-tenant-passapply","tags":[]}],"exploitRefs":[{"url":"https://github.com/AnkesKasty/cve-request-poc/blob/a7b6d1423555812d8efa26c91c5d0683164b31e5/JeecgBoot/poc_tenant_ownership_and_pack_approval.py","tags":[]},{"url":"https://github.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","tags":[]}],"hasPoc":true,"ai":{"summary":"JeecgBoot 3.9.5 contains a missing authorization vulnerability in the SysTenantController that allows any authenticated user to approve tenant administrator applications, granting them administrative permissions in any tenant. This creates a privilege escalation path where attackers can gain full tenant admin rights without proper authorization checks.","exploitability":"The exploit is straightforward requiring only authenticated access to call the passApply endpoint, with no additional preconditions needed beyond having an account in the system.","blast_radius":"The impact could be significant as attackers could gain administrative control over any tenant's user management and configuration, potentially leading to data compromise or lateral movement across tenant boundaries.","remediation":"Upgrade to JeecgBoot 3.9.6 or later to receive the authorization fix for the SysTenantController passApply handler.","detection":"Monitor for unauthorized PUT requests to /sys/tenant/passApply endpoint with elevated user permissions, particularly when these requests occur outside normal business hours or from unusual IP addresses.","tags":["authorization","privilege-escalation","tenant-isolation","web"],"model":"garnet-coder","analyzedAt":"2026-10-18T10:07:28.405Z"}}