A empresa Google lançou a versão 146 do navegador web Chrome. Ao mesmo tempo, uma versão estável do projeto de código aberto Chromium, que serve de base para o Chrome, também está disponível. O navegador Chrome se diferencia do Chromium pelo uso de logotipos do Google, um sistema de notificações em caso de falhas, módulos para reprodução de conteúdo de vídeo protegido por direitos autorais (DRM), um sistema de atualização automática, habilitação constante da funcionalidade de isolamento Sandbox, fornecimento de chaves para a API do Google e envio de parâmetros RLZ durante as buscas. Para aqueles que precisam de mais tempo para atualizar, uma ramificação chamada Extended Stable é mantida, com suporte por 8 semanas. O próximo lançamento do Chrome 147 está previsto para 7 de abril.
Separadamente, a empresa Google anunciou a publicação de versões oficiais do Chrome para sistemas Linux baseados na arquitetura ARM64. As versões do Linux para ARM64 começarão a ser desenvolvidas no segundo trimestre de 2026 e estarão disponíveis em pacotes deb e rpm. Anteriormente, versões oficiais do Chrome para Linux eram lançadas apenas para a arquitetura x86_64, enquanto para a arquitetura ARM64 apenas versões de terceiros do Chromium, oferecidas por distribuições, estavam disponíveis. A versão oficial do Chrome se diferencia pelo suporte à conexão com contas Google, integração de serviços do Google, sincronização de dados entre dispositivos, instalação simplificada de extensões a partir da Chrome Web Store e a possibilidade de ativar um modo de proteção avançada.
Principais mudanças no Chrome 146:
- Para alguns usuários, foi ativado o mecanismo de intervenção de permissão seletiva (Selective permission intervention), que bloqueia o acesso de scripts JavaScript relacionados a publicidade às capacidades que afetam a privacidade, como acesso a informações de localização, microfone, área de transferência, Bluetooth, USB, porta serial e captura de tela. A ideia é que, se o usuário concedeu à página acesso a tais capacidades, essas permissões não serão aplicadas a scripts de terceiros carregados nessa página, vindos de outros sites (separadamente por meio da tag iframe ou diretamente pela tag script).
- A estrutura das configurações relacionadas à segurança foi alterada. Para simplificar, o usuário agora tem a opção de escolher entre um nível padrão e um nível reforçado de proteção, o que permite alcançar o nível desejado de segurança sem a necessidade de entender detalhes e opções avançadas. Ao escolher o modo reforçado, uma verificação de URL e conteúdo é realizada em servidores Google, com avisos sendo exibidos para conexões não seguras e a performance de sites não usuais sendo diminuída para bloquear ataques. Se desejado, o usuário pode voltar ao esquema anterior de configuração separada de cada ajuste. Para gerenciar a ativação do novo layout das configurações de segurança, a opção "chrome://flags/#bundled-security-settings" foi proposta.
- O desenvolvimento do modo de IA continuou, permitindo a interação com um agente de IA através da barra de endereços ou da página exibida ao abrir uma nova aba. O modo de IA possibilita fazer perguntas complexas em linguagem natural e receber respostas baseadas na agregação de informações das páginas mais relevantes sobre o tema solicitado. Se necessário, o usuário pode solicitar esclarecimentos por meio de perguntas adicionais. O modo também permite perguntar sobre o conteúdo da página diretamente na barra de endereços. No Chrome 146, foi implementada a possibilidade de usar arquivos do Google Drive como contexto para o agente de IA.
- No modo de preenchimento automático, agora é possível utilizar tipos adicionais de dados que anteriormente estavam disponíveis apenas ao ativar o modo de preenchimento automático avançado (Enhanced autofill).
- Começou a ativação gradual para os usuários de proteção contra acessos à rede local ao interagir com sites públicos. Acessos de sites à endereços IP rede local (intranet ou endereços internos) ou ao loopback (127.0.0.0/8) exigirão confirmação da operação pelo usuário. As ações protegidas incluem tentativas de download de recursos, requisições fetch() e inserções de iframe. A proteção ainda não é aplicada a conexões via WebSockets, WebTransport e WebRTC, mas será adicionada para eles na próxima versão.
O acesso a recursos internos é explorado por invasores para identificação indireta e realização de ataques CSRF em roteadores, pontos de acesso, impressoras, interfaces web corporativas e outros dispositivos e serviços que aceitam solicitações apenas da rede local. Para gerenciar sub-redes como internas ou públicas, foi proposta a configuração LocalNetworkAccessIpAddressSpaceOverrides, e para permitir automaticamente o acesso a iframes filhos com base nas permissões do iframe pai, foi adicionada a configuração LocalNetworkAccessPermissionsPolicyDefaultEnabled.
- Adicionados os atributos CSS ‘animation-trigger’ e ‘trigger-scope’ para controlar animações com base na posição de rolagem da página. Por exemplo, é possível iniciar, parar ou reiniciar animações ao atingir uma determinada posição de rolagem, utilizando apenas CSS declarativo sem necessidade de código JavaScript.
- Implementado suporte ao registro de elementos personalizados para isolar o escopo de elementos HTML personalizados, o que pode ser necessário ao usar vários elementos HTML personalizados com o mesmo nome em uma única página. Ao usar várias bibliotecas na página que definem um elemento com o mesmo nome, é possível vincular elementos de cada biblioteca a partes específicas da hierarquia DOM usando o objeto JavaScript CustomElementRegistry. Por exemplo, se duas bibliotecas definirem diferentes elementos com o mesmo nome , então em uma parte da página pode ser usado o elemento da primeira biblioteca, enquanto em outra parte pode ser utilizado o da segunda.
- Adicionado o API Sanitizer, que pode ser útil para limpar dados recebidos externamente e remover tags HTML que podem ser usadas para realizar ataques XSS. A API fornece métodos para manipulação de HTML e remoção de elementos HTML do conteúdo que afetam a apresentação e execução. Para inserção segura de conteúdo HTML, foi proposto o método element.setHTML(), semelhante ao element.innerHTML, mas que protege contra ataques de script entre sites (XSS). Para a análise segura de HTML, foi implementado o método document.parseHTML(). const unsanitizedString = ‘abc def’; const sanitizer1 = new Sanitizer({ elements: [‘div’, ‘p’, ‘button’, ‘script’], }); const target = document.getElementById(‘target’); target.setHTML(unsanitizedString, { sanitizer: sanitizer1 });
- O elemento «meta» implementou um parâmetro chamado «text-scale» (por exemplo, <meta name=»text-scale» content=»scale»>), que inclui o redimensionamento automático do tamanho da fonte na página de acordo com as configurações do navegador e do sistema operacional, se unidades de medida relativas (rem e em) forem usadas na página.
- A API WebGPU agora inclui um modo de compatibilidade opcional que fornece um subconjunto de funcionalidades capazes de operar em sistemas com APIs gráficas desatualizadas, como OpenGL e Direct3D11.
- O JavaScript agora possui a capacidade de unir vários iteradores em um só com o método Iterator.concat().
- Na fase de «Origin trials», foi implementada a API WebNN, permitindo o uso de serviços de aprendizado de máquina fornecidos pelo sistema operacional e suas capacidades de hardware associadas.
- Na fase de «Origin trials», foi implementada a API CPU Performance para obter informações sobre o nível de desempenho e características do processador (número de núcleos, tipo, arquitetura, modelo, frequência etc.).
- Na fase de «Origin trials», foi adicionado o atributo «focusgroup», que permite usar as teclas de controle de cursor em vez da tabulação para navegar entre botões ou outros elementos relacionados à mudança de foco.
- Foram feitas melhorias nas ferramentas para desenvolvedores web. Na console web, os resultados da edição de comandos agora são salvos ao navegar pelo histórico de operações. No painel Elements, é possível visualizar estilos CSS adicionados programaticamente ao Shadow DOM através de um nó separado «#adopted-style-sheets» na árvore DOM, de forma análoga à visualização e edição de estilos definidos através da tag <style>.
Além das inovações e correções de erros na nova versão, foram eliminadas 29 vulnerabilidades. Muitas dessas vulnerabilidades foram identificadas por meio de testes automatizados utilizando ferramentas como AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Um dos problemas (overflow de buffer no WebML) foi classificado como crítico, implicando que a vulnerabilidade permite contornar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox. Como parte do programa de recompensas por descoberta de vulnerabilidades para essa versão, a Google concedeu 29 prêmios e pagou 211 mil dólares, estabelecendo um recorde de pagamento para uma única versão (dois prêmios de $43.000, um prêmio de $36.000, $33.000, $11.000 e $7.000, dois prêmios de $10.000 e $3.000, e quatro prêmios de $2.000 e $1.000). O valor de 12 recompensas ainda não foi definido.
Fonte: opennet.ru
