Description
Lotus through 0.10.2 contains an insecure direct object reference vulnerability in SubscriptionViewSet.get_object() that uses an unscoped queryset without organization filtering or permission checks. Authenticated users or API keys from any organization can supply another organization's subscription_id to read, cancel, update, switch plans, or modify addons, altering another tenant's billing.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| uselotus | lotus | ≤ 0.10.2 | — |
References
- https://github.com/uselotus/lotus/issues/799 issue-tracking
- https://github.com/uselotus/lotus/pull/802 patch issue-tracking
- https://github.com/uselotus/lotus/commit/1375d5140795d72251c89f47200879b9bd1d6d96 patch
- https://github.com/uselotus/lotus/blob/0.10.2/backend/api/views.py#L754 technical-description
- https://github.com/uselotus/lotus product
- VulnCheck Advisory: Lotus through 0.10.2 Cross-Organization IDOR via SubscriptionViewSet third-party-advisory