A empresa Google lançou a versão 145 do navegador web Chrome. Ao mesmo tempo, está disponível uma versão estável do projeto de código aberto Chromium, que serve de base para o Chrome. O navegador Chrome se diferencia do Chromium pelo uso dos logotipos do Google, a 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ópias (DRM), um sistema de instalação automática de atualizações, a manutenção da sandbox em execução permanente, fornecimento de chaves para o Google API e transmissão de parâmetros RLZ durante as buscas. Para aqueles que precisam de mais tempo para atualização, uma ramificação Extended Stable é mantida separadamente, que é acompanhada por 8 semanas. O próximo lançamento do Chrome 146 está previsto para 10 de março.
Principais mudanças no Chrome 145:
- Adicionada a suporte ao formato de imagem JPEG XL, para o qual a biblioteca jxl-rs, que implementa JPEG-XL na linguagem Rust, é utilizada para decodificação. O suporte a JPEG XL ainda está desativado por padrão e requer a ativação da opção "chrome://flags/#enable-jxl-image-format".
- O desenvolvimento do modo de IA foi continuado, permitindo interagir com um agente de IA diretamente 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 esclarecer informações com perguntas adicionais. O modo também permite questionar o conteúdo da página diretamente da barra de endereços. No Chrome 145, o modo de IA foi implementado nas versões para as plataformas Android e iOS. Para usuários do Canadá, Índia e Nova Zelândia, o chatbot Gemini começou a ser ativado por padrão (ao usar o idioma inglês).
- Foi adicionado o mecanismo DBSC (Credenciais de Sessão Vinculadas ao Dispositivo), que permite vincular a sessão de autenticação no site a um dispositivo específico para dificultar ataques de outros sistemas que utilizam cookies de sessão interceptados. Para criar uma sessão vinculada ao dispositivo, foi proposto o cabeçalho HTTP "Secure-Session-Registration". O método de proteção envolve fornecer um par de chaves criptográficas vinculadas ao dispositivo atual, geradas durante a conexão e armazenadas no TPM (Trusted Platform Module). Durante a sessão, são utilizados cookies com um tempo de vida curto, que são periodicamente atualizados usando a chave privada e podem ser verificados pela chave pública.

- Foi removido o parâmetro que permitia desativar o bloqueio de complementos de navegador instalados forçosamente, nos quais foram identificadas violações insignificantes das regras do diretório Chrome Web Store. As violações insignificantes incluem a presença de vulnerabilidades potenciais, imposição de complementos sem o consentimento do usuário, manipulação de metadados, violação das regras de uso de dados do usuário e engano sobre a funcionalidade.
- Na versão para a plataforma Android, ao ativar o modo de proteção avançada (AAPM, Modo de Proteção Avançada do Android), a API Javascript WebGPU foi desativada. Sites que utilizam WebGPU para renderizar conteúdo 3D (como o Google Maps) podem utilizar alternativas mais lentas, como o WebGL (em testes, 5,78% mais lentos). Para verificar a desativação do WebGPU, pode-se usar a propriedade navigator.gpu.
- Na versão para Android, ao ativar o modo de proteção aprimorada do navegador (Navegação Segura Aprimorada), foi implementada uma análise local da aparência das páginas para identificar sinais de fraude. Se a verificação local detectar suspeitas de conteúdo duvidoso, uma verificação adicional é realizada nos servidores do Google e, em caso de confirmação, um aviso é exibido ao usuário.
- Foi adicionado o API Origin, que fornece um objeto Origin, implementando o conceito de Web Origin e oferecendo métodos para comparação, serialização e análise de Web Origins. O termo 'Web Origin' é definido na RFC 6454 para separar limites de isolamento e confiança em conteúdo. O Web Origin abrange parte da URL com o nome do protocolo, nome do host e número da porta (por exemplo, https://opennet.ru). O novo API foi introduzido para unificar operações com Web Origin para evitar vulnerabilidades devido a comparações incorretas de representações ASCII serializadas do Web Origin ao determinar a pertença de recursos a um site.
- Os direitos de acesso ao sistema local foram separados ao interagir com sites públicos. As solicitações feitas a partir do site para endereços IP a rede local (intranet ou endereços internos) e para a interface de loopback (127.0.0.0/8) agora são tratadas com poderes diferentes (local-network e loopback-network), exigindo a confirmação do usuário em um diálogo especial. Tentativas de upload de recursos, solicitações fetch() e inserções de iframe estão sob medidas de proteção. O acesso a recursos internos é utilizado por invasores para realizar 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. Além disso, a varredura de recursos internos pode ser usada para identificação indireta ou coleta de informações sobre a rede local.
- A configuração UserAgentReduction, que permitia o retorno de informações não reduzidas no cabeçalho HTTP User-Agent e nos parâmetros JavaScript navigator.userAgent, navigator.appVersion e navigator.platform foi removida. O navegador agora sempre envia uma versão reduzida do User-Agent sem informações detalhadas sobre a plataforma (por exemplo, 'Android 16; S' em vez de 'Android 16; SM-A205U').
- Foi adicionada ao visualizador PDF embutido a capacidade de salvar documentos no armazenamento em nuvem Google Drive. No Google Drive, os documentos do Chrome são salvos na pasta 'Saved from Chrome'.
- O API LayoutShift, que permite monitorar alterações na posição de elementos DOM na tela, foi modificado para exibir informações em pixels CSS em vez de pixels de tela. O pixel CSS leva em conta o DPI da tela e parece visualmente idêntico em qualquer tela, incluindo monitores de alta densidade de pixels. A mudança foi feita para alinhar o comportamento do Chrome com o de outros navegadores.
- Para a API Controlled Frame, foi implementado o método WebRequest.SecurityInfo, permitindo que aplicações web interceptem solicitações HTTPS, WSS ou WebTransport para o servidor e obtenham um instantâneo do certificado. servidor e utilizá-lo para a verificação manual do certificado usado na conexão direta com o mesmo servidor via TCP/UDP.
- Foi adicionada a compatibilidade com as propriedades CSS column-wrap e column-height, definidas na especificação CSS Multi-column Layout 2. A propriedade column-wrap permite mover colunas para uma nova linha em vez de rolar horizontalmente, se as colunas não couberem na altura especificada pela propriedade column-height.
- Foi adicionada a propriedade CSS text-justify, que permite definir o tipo de justificação do texto ao usar "text-align: justify";
- Nas propriedades CSS letter-spacing e word-spacing, é permitido especificar o tamanho do espaçamento em porcentagens.
- Nos objetos JavaScript Map e WeakMap, foi implementada a especificação "upsert", facilitando o trabalho com coleções de pares chave/valor. Foram adicionados os métodos getOrInsert e getOrInsertComputed, que retornam o valor já existente na coleção associado à chave especificada ou criam um novo registro se a chave não for encontrada.
- A implementação da API IndexedDB foi reescrita usando o banco de dados SQLite como back-end (a implementação anterior se baseava no LevelDB em arquivos separados). A nova versão está sendo utilizada apenas em contextos armazenados na memória, por exemplo, no modo de navegação anônima.
- Foram feitas melhorias nas ferramentas para desenvolvedores web. Na interface de inspeção de rede, no painel "Condições de solicitação", a possibilidade de limitar a velocidade de solicitações de rede específicas está ativada por padrão.
Além das inovações e correções de bugs, a nova versão eliminou 11 vulnerabilidades. Muitas vulnerabilidades foram identificadas como resultado de testes automatizados com as ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Não foram identificados problemas críticos que permitissem contornar todos os níveis de segurança do navegador e executar código fora do ambiente sandbox. No âmbito do programa de recompensas por descoberta de vulnerabilidades, para esta versão, a Google concedeu 11 prêmios e pagou 18.5 mil dólares (um prêmio de $8000, $5000, $2000 e $500, e três prêmios de $1000). O valor de 4 recompensas ainda não foi definido.
Fonte: opennet.ru

