提出 #858791: zsadmin ZS-Admin <=1.0.0 Authorization Bypass情報

タイトルzsadmin ZS-Admin <=1.0.0 Authorization Bypass
説明ZS-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.
ソース⚠️ https://github.com/zsadmin2025/zs-admin-java/issues/5
ユーザー
 cl0ney (UID 99026)
送信2026年06月15日 17:48 (1 月 ago)
モデレーション2026年07月21日 10:55 (1 month later)
ステータス承諾済み
VulDBエントリ380829 [zsadmin2025 ZS-Admin 迄 b52e14536d59fda11e56e2536a1c32e82a38cead MyBatis-Plus Tenant Plugin page getTenantId X-Tenant-Id 特権昇格]
ポイント20

Do you want to use VulDB in your project?

Use the official API to access entries easily!