A empresa Google lançou a versão do navegador web Chrome 119. Ao mesmo tempo, está disponível a versão estável do projeto de código aberto Chromium, que serve como base para o Chrome. O navegador Chrome difere do Chromium pelo uso dos logotipos do Google, pela presença de um sistema de envio de notificações em caso de falhas, módulos para reprodução de conteúdo de vídeo protegido contra cópia (DRM), um sistema de atualização automática, a inclusão constante da Sandbox-isolação, fornecimento de chaves para a API do Google e envio dos parâmetros RLZ durante as pesquisas. Para quem precisa de mais tempo para atualizar, uma ramificação chamada Extended Stable é mantida, com suporte de 8 semanas. O próximo lançamento do Chrome 120 está agendado para 5 de dezembro.
Principais mudanças no Chrome 119:
- O ciclo de lançamento foi reduzido, diminuindo o tempo entre a criação de uma nova ramificação e o início dos testes beta — a versão beta agora é formada dois dias após a criação da ramificação, em vez de 8 dias. A estabilização da versão beta, como antes, ocorre ao longo de 4 semanas. Assim, o ciclo de preparação para novos lançamentos agora é uma semana mais curto.
- Foi adicionada a possibilidade de salvar grupos de abas. O usuário agora pode salvar um grupo e fechar as abas que o compõem para que não ocupem recursos. Posteriormente, quando necessário, as abas do grupo salvo podem ser restauradas, além de abertas em outros dispositivos que participam da sincronização de abas. Essa funcionalidade está disponível para alguns usuários e a ativação obrigatória pode ser feita na configuração "chrome://flags/#tab-groups-save".
- Na interface, foram alterados os termos de operações e configurações relacionadas à exclusão e perda de dados. Em vez do termo "limpar" (Clear), agora utiliza-se a palavra "excluir" (Delete) nessas operações, já que "limpar" não era percebido por alguns usuários como um sinal de perda irreversível de dados.
- No autocompletamento de URLs, agora é considerado qualquer palavra-chave previamente utilizada para buscar um site, e não apenas palavras que correspondem ao início do endereço. Por exemplo, o autocompletamento do endereço "https://www.google.com/travel/flights" será acionado não apenas pela entrada da palavra "google", mas também pela entrada de "flights".

- Foi implementada a correção automática de erros de digitação ao inserir o endereço do site e foram fornecidas sugestões relevantes, levando em conta os sites que o usuário atual já acessou. Por exemplo, ao digitar "youutube", será sugerido acessar YouTube.com.

- Foi adicionada a capacidade de busca nas seções de favoritos através da barra de endereços. Por exemplo, ao digitar o nome da seção de favoritos, o Chrome sugerirá links dessa seção que correspondam à palavra-chave digitada. Por exemplo, ao digitar "viagens 2023 Nova", serão sugeridos links da seção de favoritos "viagens 2023" relacionados a Nova Iorque.

- Foi implementada a exibição de recomendações de sites populares, mesmo que o usuário não os tenha acessado anteriormente ou tenha cometido um erro ao digitar a URL. Por exemplo, ao tentar abrir o Google Earth e digitando "googleear" sem saber o endereço exato, o navegador sugerirá visitar earth.google.com.

- No Chrome para sistemas desktop, a legibilidade das informações na barra de endereços foi aprimorada e a responsividade da interface foi aumentada — agora os resultados aparecem assim que o usuário começa a digitar na barra de endereços.
- Em conformidade com a mudança na especificação da API Fetch, o cabeçalho HTTP Authorization foi removido ao redirecionar para outro domínio (cross origin).
- Nas configurações de notificações e localização, foi adicionada uma opção para habilitar o serviço de auto-silenciamento de solicitações de confirmação de permissões (Permission Suggestions Service). As opções oferecidas são:
- sempre mostrar solicitações para obter permissões para exibir notificações e acessar a localização;
- automaticamente ignorar solicitações de permissões de spam, usando o mecanismo Permission Suggestions Service;
- sempre ignorar todas as solicitações para exibir notificações;
- sempre bloquear todas as solicitações para obter permissões para exibir notificações e acessar a localização.
- Nas compilações para a plataforma Android, ao habilitar a proteção padrão do navegador (Safe Browsing > Proteção padrão), foi implementada uma verificação de segurança em tempo real para URLs abertos, realizada com base na transmissão para servidores Google de hashes parciais dos URLs abertos pelo usuário. Para evitar a correspondência endereços IP o usuário e o hash, os dados são transmitidos através de um proxy intermediário. Antes, a verificação era feita por meio do upload de uma cópia local da lista de URLs inseguras no sistema do usuário. O novo esquema permite bloquear URLs maliciosas de forma mais ágil. Para sistemas de desktop, esse modo foi incluído na versão anterior.
- A escapabilidade de caracteres não alfabéticos em nomes de host ao chamar a função URL foi alinhada com a especificação atualizada. Por exemplo, a chamada da função ‘URL("http://exa(mple.com;")’ anteriormente retornava ‘http://example.com/’, mas agora resultará em um erro "URL inválido".

- A todas as Cookies anteriormente salvas foi aplicada uma limitação de tempo de vida, semelhante à que é utilizada a partir da versão 104 do Chrome para novas e atualizadas Cookies. Para Cookies existentes, o tempo de vida será reduzido para 400 dias a partir da publicação da versão 119 do Chrome.
- Novos pseudo-classes ‘:user-valid’ e ‘:user-invalid’ foram propostas no CSS, representando elementos de formulários cujos valores passaram ou não na validação. Ao contrário de ‘:valid’ e ‘:invalid’, as novas pseudo-classes acionam apenas após a interação do usuário com o elemento do formulário.
- Ao definir cores no CSS, é permitido especificar valores calculados em relação a outros parâmetros de cor. Por exemplo, ao indicar ‘oklab(from magenta calc(l * 0.8) a b)’, será obtida uma cor 80% mais clara que a magenta.
- No atributo CSS clip-path, que limita a visibilidade de um elemento a uma área específica, foi adicionada a suporte para o valor para definir uma área de recorte arbitrária. Também foi disponibilizada a opção de usar as funções xywh() e rect() para simplificar a definição de áreas retangulares ou arredondadas.
- O suporte à API WebSQL foi desativado, sendo recomendado o uso da API Web Storage e do Indexed Database. O manipulador WebSQL foi baseado no código da biblioteca SQLite. A API WebSQL não era suportada em outros navegadores, estava vinculada à API de uma biblioteca externa e aumentava os riscos de problemas de segurança (WebSQL poderia ser explorado por agentes maliciosos para explorar vulnerabilidades no SQLite). Para restaurar o suporte ao WebSQL para usuários corporativos, foi mantida a política WebSQLAccess, que será removida no Chrome 123.
- O API HTML Sanitizer foi temporariamente removido, permitindo cortar elementos que afetam a exibição e a execução ao serem exibidos por meio do método setHTML(). O API foi desenvolvido para remover tags HTML que podem ser usadas para realizar ataques XSS. A remoção foi justificada pela imaturidade da especificação, que mudou significativamente desde a adição do Sanitizer ao Chrome. O API será retornado assim que a especificação estiver finalizada.
- O atributo não padrão shadowRoot foi removido, permitindo que elementos personalizados acessassem sua própria raiz separada no Shadow DOM, independentemente do estado. Em vez do shadowRoot, foi proposto o atributo shadowRootMode na versão 111 do Chrome, que entrou para o padrão da web.
- Foi aprimorada a implementação do elemento HTML "", que se assemelha ao "iframe" e também permite incorporar conteúdo de terceiros na página. As diferenças incluem a restrição da interação do conteúdo incorporado com o conteúdo da página no nível do DOM e de atributos. Por exemplo, a página news.example, na qual um bloco de anúncios incorporado via fencedframe é carregado do site shoes.example, não pode acessar os dados de shoes.example, e, por sua vez, o código do site shoes.example não pode acessar os dados relacionados a news.example. A nova versão adicionou suporte para substituições de macro de tamanho de bloco de anúncio que surgiram na API Protected Audience, por exemplo, "https://ad.com?width={/_WIDTH%}&height={/_HEIGHT%}".
- Foi adicionado ao método getDisplayMedia() o parâmetro monitorTypeSurfaces, que pode ser usado para proibir o acesso compartilhado a toda a tela.
- Foi adicionado ao método window.open() um parâmetro experimental (trial de origem) fullscreen, permitindo abrir uma janela diretamente em modo de tela cheia.
- No API AudioEncoderConfig, foi adicionado o flag "bitrateMode" para escolher entre bitrate constante (constant) e variável (variable).
- O TLS inclui a implementação do mecanismo de encapsulamento de chaves (KEM, Key Encapsulation Mechanism), utilizando o algoritmo híbrido X25519Kyber768, resistente a ataques de computadores quânticos. Para a criação de chaves de sessão, que são usadas para criptografar dados dentro das conexões TLS, agora pode ser utilizada uma combinação do mecanismo de troca de chaves X25519, baseado em curvas elípticas e atualmente aplicado no TLS, com o algoritmo Kyber-768, que utiliza métodos de criptografia baseados na resolução de problemas de teoria de redes, cujos tempos de resolução não diferem entre computadores convencionais e quânticos.
- Apoio à extensão WasmGC está habilitado por padrão, simplificando a portabilidade para WebAssembly de programas escritos em linguagens de programação que utilizam coletor de lixo (Kotlin, PHP, Java, etc.). WasmGC adiciona novos tipos de estruturas e arrays, para os quais pode ser aplicado o gerenciamento de memória não linear.
- Melhorias foram feitas nas ferramentas para desenvolvedores web. Agora é possível editar regras CSS `@property` e gerar avisos em caso de definição incorreta. A lista de dispositivos emulados foi atualizada (por exemplo, iPhone 14 e Pixel 7 foram adicionados). A console da web agora possui auto-completar para campos privados. O formato dos dados JSON dentro de blocos foi formatado.

Além das novas funcionalidades e correção de bugs, a nova versão eliminou 15 vulnerabilidades. Muitas vulnerabilidades foram identificadas por meio de testes automatizados usando ferramentas como AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Nenhum problema crítico foi encontrado que permitisse 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 vulnerabilidades, a Google pagou 13 prêmios no valor total de 40,5 mil dólares para esta versão (incluindo um prêmio de $16000, $11000, $2000 e $500, três prêmios de $3000 e dois prêmios de $1000). O valor de 4 recompensas ainda não foi definido.
Fonte: opennet.ru






