Uma VPN não pode desativar CORS, ela muda a resposta
Um novo endereço de saída não torna duas origens iguais. Capture os cabeçalhos de resposta nos dois caminhos e compare-os antes de culpar a aplicação do CORS.
Comece separando duas coisas que mudaram ao mesmo tempo: o caminho de rede e a aplicação pelo navegador. Uma VPN muda o endereço de saída; não muda a origem da página, que é composta de esquema, host e porta. Se o pedido agora tem sucesso, algo na resposta mudou, ou o próprio pedido. Descobrir qual dos dois é toda a investigação.
CORS é um protocolo de cabeçalhos aplicado pelo navegador, portanto nada no caminho de rede pode desativá-lo.
A origem não é um endereço IP
Uma origem é um esquema, um host e uma porta. Não é o endereço de onde saem os pacotes nem é o IP que o servidor vê. Por isso uma VPN pode mudar cada endereço observável e deixar a origem idêntica. O navegador compara o Access-Control-Allow-Origin da resposta com a origem da página, e o endereço de saída nunca entra nessa comparação.
Assim, uma extensão ou um proxy que parece corrigir um erro de CORS faz outra coisa: reescreve cabeçalhos ou encaminha o pedido para que deixe de ser de outra origem. Nenhuma das duas é uma propriedade da VPN.
O que o navegador realmente envia
Para um pedido de outra origem que não é simples, o navegador envia primeiro uma pré-verificação OPTIONS, transportando o método e os cabeçalhos pretendidos. O servidor deve responder com as permissões que concede, e o pedido real só segue se essa resposta cumprir as regras. Uma VPN muda o caminho que transporta as duas trocas e pode mudar o que os serviços intermédios respondem. Não muda a cadeia de origem nem o requisito de pré-verificação.
Um cliente de linha de comando normalmente não mostra nada disso. Pode não enviar o cabeçalho Origin, muitas vezes salta a pré-verificação e pode levar credenciais diferentes. Um corpo devolvido ao curl prova que o servidor respondeu ao curl.
Encontre a resposta que mudou
Compare a resposta real em cada caminho, não apenas o código de estado. Veja os cabeçalhos que levam permissões de CORS, o tipo de conteúdo, qualquer redirecionamento e se uma variante de WAF ou CDN produziu uma página diferente. Uma recusa regional, um redirecionamento de autenticação ou uma página de erro sem o cabeçalho de permissão falham no navegador embora pareçam um erro de CORS. São diferenças do caminho de entrega, e são o que deve ser documentado.
Capture os cabeçalhos de resposta dos dois caminhos e compare-os linha a linha. Se a única diferença for a falta de Access-Control-Allow-Origin numa página de erro, encontrou a causa.
Corrija o serviço, não a aplicação
Quando o serviço é seu, declare explicitamente as origens permitidas e as funcionalidades do pedido, e depois leia os erros que o frontend e os intermediários produzem. Se não o fizer, envie ao proprietário do serviço uma comparação saneada. Nunca inclua cookies, cabeçalhos de autorização ou exportações de sessão nesse relatório, porque são as credenciais que a política existe para proteger.
Evite as extensões do navegador que desativam CORS. Mudam a fronteira de segurança enquanto escondem a diferença de resposta que precisava de explicação, e deixam a mesma falha para todos os outros utilizadores.
Registe as duas respostas, a origem usada e o caminho seguido. Esse registo transforma um rumor sobre VPN num erro do serviço.