Soumettre #858791: zsadmin ZS-Admin <=1.0.0 Authorization Bypassinformation

Titrezsadmin ZS-Admin <=1.0.0 Authorization Bypass
DescriptionZS-Admin uses the MyBatis-Plus tenant plugin for field-level multi-tenant isolation. The tenant context should be derived from a trusted server-side authentication context, such as the authenticated user's tenantId. However, the current implementation reads the tenant ID directly from the client-controlled X-Tenant-Id request header and stores it in TenantContext. MultiTenantHandler later reads this value from TenantContext and injects it into SQL tenant conditions. The application does not compare the supplied tenant ID with the tenant ID stored in the authenticated user's LoginUserInfo. Therefore, a user from tenant 1 can change the request header to tenant 2, causing the generated SQL condition to become tenant_id = 2.
La source⚠️ https://github.com/zsadmin2025/zs-admin-java/issues/5
Utilisateur
 cl0ney (UID 99026)
Soumission15/06/2026 17:48 (il y a 1 mois)
Modérer21/07/2026 10:55 (1 month later)
StatutAccepté
Entrée VulDB380829 [zsadmin2025 ZS-Admin MyBatis-Plus Tenant Plugin page getTenantId X-Tenant-Id élévation de privilèges]
Points20

Interested in the pricing of exploits?

See the underground prices here!