Pesquisadores de cibersegurança divulgaram detalhes de uma vulnerabilidade crítica de isolamento de sessão, já corrigida, na Writer, uma plataforma empresarial de inteligência artificial generativa (IA), que poderia resultar em comprometimento entre inquilinos.
A vulnerabilidade de um clique foi batizada de WriteOut pela equipe Sand Security Research.
"Um invasor externo poderia passar de não ter acesso a assumir o controle de qualquer organização do Writer AI dentro de grandes empresas líderes do setor, com nada além de um link", afirmou a empresa de cibersegurança em um relatório compartilhado com o The Hacker News.
Em outras palavras, a falha poderia ser explorada para assumir o controle da conta Writer de uma vítima e usá-la para acessar chats privados, documentos e outros dados sensíveis relacionados a agentes, configurações, modelos privados, conectores e credenciais de modelos de linguagem de grande porte (LLM, na sigla em inglês).
Pior ainda, a falha poderia ser usada para se apropriar do controle administrativo, dependendo do papel da vítima. Um aspecto importante da vulnerabilidade é que o invasor e a vítima não precisam pertencer à mesma organização.
Um invasor pode criar um agente em sua própria conta Writer e compartilhar um link de prévia. Isso é tudo o que é preciso para acionar a vulnerabilidade, tornando possível essencialmente sequestrar a conta de uma vítima que clica no link e está conectada com sua própria sessão.
"Um invasor pode abusar do ambiente gerenciado de IA da Writer para coletar sessões pertencentes a empresas completamente separadas e atuar dentro de cada uma delas como um usuário real, sem nenhum ponto de apoio prévio em lugar nenhum", afirmou a Sand Security.
A WriteOut também enfraquece o modelo de responsabilidade compartilhada, pois quebra as proteções de isolamento entre inquilinos ao se aproveitar do recurso de prévia ao vivo da Writer, que permite aos usuários visualizar a aplicação por meio do Writer Framework.
Toda a cadeia de ataque se desenrola da seguinte forma:
- Um invasor cria um agente com prévia ao vivo e compartilha seu link público de prévia.
- Quando um usuário conectado ao Writer abre esse link, o navegador anexa o cookie de sessão da Writer à requisição.
- O proxy de prévia envia esse cookie para o ambiente isolado controlado pelo invasor.
- O código contido no ambiente controlado pelo invasor lê o token de sessão encaminhado e o exfiltra.
- O invasor reproduz o token e obtém controle da conta Writer da vítima.
Como um invasor pode instruir seu agente malicioso pré-construído a executar código dentro do ambiente isolado gerenciado e controlado, torna-se possível ler a memória do processo do ambiente isolado, recuperar o token de sessão exfiltrado da vítima e transmiti-lo a um servidor mantido pelo invasor.
Após a divulgação responsável, a Writer resolveu o problema impedindo que o cookie de sessão do usuário fosse encaminhado para as prévias em ambiente isolado, transferindo-os para uma origem isolada.
"A Writer não foi descuidada, havia barreiras de proteção. A filtragem do lado da entrada tentava impedir que os usuários lessem variáveis de ambiente ou enviassem código obviamente malicioso", afirmou a Sand Security. "O problema é o que essas verificações analisavam: a instrução, e não o comportamento em tempo de execução."
"Contornar a barreira de proteção foi bastante simples: em vez de colar a carga útil diretamente, simplesmente pedimos ao agente que buscasse e executasse um script remoto. A barreira viu uma solicitação benigna de baixar e executar, e a lógica real do exploit nunca apareceu no prompt."