A VPN exempt list keyed to a SaaS vendor's published IP ranges is reviewed quarterly - what can an adversary reach through it?
answer
- the key is a prefix, the intent is a vendor
- leased address space returns to a pool
- additions get noticed, removals never do
- shared front-end space is multi-tenant
- the list is installed on every laptop
basics
~20 sAnything reachable at an address inside those blocks. The exemption is keyed to addresses, not to the vendor's identity, so shared cloud space and blocks the vendor has released stay exempt until someone reviews the list.
solid answer
~40 sThe list says "do not tunnel these prefixes"; it does not say "do not tunnel this vendor". Three gaps follow. Blocks the vendor has released go back into shared cloud or CDN pools and can be re-used by anyone, while your list still exempts them. Even current blocks are often multi-tenant, so other parties can serve content from inside your exemption. And ranges added between reviews break users, which creates pressure to widen the entries to coarser prefixes rather than track them. The price is a standing review burden that nobody owns and that breaks the workforce when it lags. Meanwhile the list sits on every laptop, readable by anything running there, so the uninspected destinations are discoverable rather than guessed.
code
text · 9 linesvendor published ranges (fetched today)
198.51.100.0/24 current edge
...
exempt list on the client (last reviewed 4 months ago)
198.51.100.0/24 current - matches
203.0.113.0/24 vendor released this block; still exempt from the tunnel
192.0.2.0/22 widened during a 2024 ticket storm; nobody owns it
...go deeper
Know that an exemption is matched on IP prefixes, not on who owns them, and that a SaaS provider's address ranges change without telling you.
Explain all three drift modes - released blocks, multi-tenant blocks, and ticket-driven widening - and why removals are the ones nobody notices.
Show the operating model: owners, expiry dates, automated removals, gated additions, narrowest prefix plus transport, and an honest account of the ticket cost each of those creates.
Be ready to argue why exemptions need the same lifecycle discipline as firewall rules, and who absorbs the breakage when the list is finally tightened.
## Keying by address is not keying by identity An exemption list is a set of prefixes. The intent behind it is a *vendor* - the conferencing platform, the file service, the collaboration suite - but the enforcement is an address match on the client. That gap between intent and key is where every failure in this leaf lives, and it is the fact a candidate has to say out loud. ## Three drift modes, in the order they bite **1. Release lag.** Cloud and CDN address space is leased, not owned. A provider that hands a block back has no obligation to tell your list, and the block returns to a pool where it can be assigned to any other tenant. Your entry keeps forwarding traffic to that prefix outside the tunnel, so whoever now holds it enjoys an uninspected lane from your entire fleet. This is the direction people miss: they audit for ranges that were *added* (because users complain) and never for ranges that were *removed* (because nothing breaks). **2. Multi-tenancy while current.** Even a block the vendor genuinely uses today is often shared front-end space serving many customers, sometimes arbitrary customer-supplied content. Exempting the prefix exempts everything that answers inside it, not the one service you had in mind. **3. Coarsening pressure.** New ranges appear between reviews. Users see failures on the vendor's newest edge nodes, tickets arrive, and the fastest fix is a shorter prefix that covers whatever the vendor might add next. Each round of that makes the exemption bigger and the reasoning less specific, and the list ratchets in one direction because widening it fixes a live complaint while narrowing it creates one. ## What the adversary needs Not much. In shared address space, a foothold inside an exempted prefix is often purchasable rather than stealable. And the map is not secret: the exempt list is installed on every endpoint. Anything running with user privileges on the laptop can read which destinations the organisation has decided not to watch. An exemption list is a published description of your blind path. ## What holding it honestly costs - **A named owner.** An entry with no owner cannot be removed, because nobody can say what breaks. Entries added "for a pilot" outlive the pilot by years. - **Expiry rather than review.** Reviewing a list finds nothing; expiring entries forces a decision. An entry that must be renewed on a date is one somebody has to justify. - **Automation with a limit.** Fetching the vendor's published ranges on the vendor's cadence closes the release lag and the addition lag. But auto-*adding* prefixes means no human decides what becomes uninspected, and automation does nothing about multi-tenancy. Automate removals aggressively and additions cautiously. - **Narrowness.** Key exemptions to the smallest prefix and the specific transport that actually needed the relief. A media exemption that covers only the UDP media ports of a defined destination set is a far smaller uninspected surface than a whole-vendor prefix list. - **Breakage budget.** Every one of these makes the list tighter and therefore more likely to break someone at 09:00. That is the real reason lists rot: correctness is expensive in tickets and staleness is free until it is not. ## The claim to be careful with "We pull the vendor's published range file weekly, so the list is accurate" is the confident wrong answer. It fixes freshness only. Freshness does not make an address block single-tenant, and it does not stop an implant on the endpoint from reading the list and using a destination the organisation permits and does not observe.
- Does automatically syncing the vendor's published ranges solve this?It closes freshness in both directions, which is worth doing, and it stops the ticket-driven widening. It does not make a shared block single-tenant, and auto-adding prefixes means no person decides what stops being inspected. Sync removals aggressively, gate additions on a human, and keep the diff visible to whoever owns the list.
- How would you shrink the blast radius of one stale entry?Key each exemption to the narrowest prefix and the specific transport that needed relief, attach an owner and an expiry date rather than a review cadence, and remove any entry whose owner has left or whose justification nobody can restate. Widening should require the same approval as creating the entry did.
- Why is auditing only the entries users complain about the wrong loop?Complaints surface missing exemptions, never surplus ones. A released or over-broad prefix produces no ticket at all - the traffic works, it just works uninspected. So a complaint-driven list only ever grows, and the entries that matter for exposure are precisely the silent ones.
saying these in an interview costs you the question
- Says a weekly pull of the vendor's ranges makes the list correct
- Treats an exempted prefix as if it identified the vendor
- Assumes released address blocks stay unused
- Only audits exemptions that generated complaints
- Believes the exempt list is not visible to code on the endpoint