Vulnerabilidade no kernel Linux permite ignorar o isolamento do sandbox do Chrome

Pesquisadores de segurança do Google identificaram uma vulnerabilidade (CVE-2025-38236) no kernel do Linux que permite a escalada de privilégios. Entre outras coisas, a vulnerabilidade permite contornar o mecanismo de isolamento de sandbox usado no Google Chrome e obter execução de código em nível de kernel ao executar código no contexto de um processo de renderização isolado do Chrome (por exemplo, ao explorar outra vulnerabilidade no Chrome). O problema aparece a partir do kernel do Linux 6.9 e foi corrigido nas atualizações do kernel Linux 6.1.143, 6.6.96, 6.12.36 e 6.15.5. Um protótipo do exploit está disponível para download.

A vulnerabilidade é causada por um erro de implementação no sinalizador MSG_OOB, que pode ser definido para soquetes AF_UNIX. O sinalizador MSG_OOB ("out-of-band") permite que um byte adicional seja anexado aos dados enviados, que o receptor pode ler antes que o restante dos dados seja recebido. Este sinalizador foi adicionado ao kernel Linux 5.15 a pedido da Oracle e foi proposto para descontinuação no ano passado por não ser amplamente utilizado.

A implementação sandbox do Chrome permitia operações de soquete UNIX e chamadas de sistema send()/recv() onde o sinalizador MSG_OOB era permitido juntamente com outras opções e não era filtrado separadamente. Um bug na implementação MSG_OOB permitia que uma condição de uso após liberação ocorresse após a execução de uma determinada sequência de chamadas de sistema: char dummy; int socks[2]; socketpair(AF_UNIX, SOCK_STREAM, 0, socks); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, MSG_OOB); send(socks[1], "A", 1, MSG_OOB); recv(socks[0], &dummy, 1, 0); recv(meias[0], &dummy, 1, MSG_OOB);

Fonte: opennet.ru

Adicionar um comentário