Consider a multi-tenant SaaS application that uses domain names to identify which customer to serve. Customers access the application using client001.ourdomain.com
, client002.ourdomain.com
, etc. The code base is shared among all customers.
Two obvious security concerns for me are:
- Predictable URLs allow anyone to easily determine who all of our customers are and the number of customers we have by simply iterating through the valid domain names and scraping the customer name from the homepage. This is an information leak.
- Expanding on #1, an attacker could find and exploit a vulnerability for one customer and easily automate that same exploit across multiple tenants.
What other security concerns are there in this approach?