The vulnerability is an incorrect authorization issue stemming from a stale cache. When a user changed a sandbox preview from public to private, the API failed to invalidate a cached entry in Redis that stored the sandbox's public visibility status. As a result, the proxy, which relied on this cache, would continue to serve the sandbox preview without authentication for up to an hour (the cache's TTL). The patch rectifies this by introducing an event-driven mechanism. When a sandbox's visibility is changed, a PUBLIC_STATUS_UPDATED event is now fired. The ProxyCacheInvalidationService listens for this event and triggers the handleSandboxPublicStatusUpdated function, which in turn calls invalidatePublicCache to delete the stale entry from Redis immediately. The vulnerability was the absence of this invalidation logic.