Lançamento da biblioteca de sistema Glibc 2.40

Após seis meses de desenvolvimento, lançado o release da biblioteca GNU C Library (glibc) 2.40, que atende integralmente aos requisitos dos padrões ISO C11 e POSIX.1-2017. Este novo release inclui correções de 68 desenvolvedores.

Entre as melhorias implementadas no Glibc 2.40, destacam-se:

  • O arquivo de cabeçalho math.h agora inclui novas funções exponenciais e logarítmicas definidas no padrão C23: exp2m1, exp10m1, log2p1, log10p1 e logp1. As funções estão disponíveis para os tipos float, double, long double, _FloatN e _FloatNx.
  • Adicionado o macro _ISOC23_SOURCE, que define o uso dos recursos propostos no padrão C23 (no momento, apenas parte das funcionalidades de C23 está implementada no Glibc). O uso de C23 também pode ser habilitado durante a compilação com as opções do GCC -std=c23, -std=gnu23, -std=c2x ou -std=gnu2x.
  • Adicionada a configuração "glibc.rtld.enable_secure", que permite executar um programa durante os testes como se tivesse o flag de mudança de identificador de usuário (setuid).
  • Na plataforma Linux, o arquivo de cabeçalho epoll.h foi atualizado para suportar novos ioctl e estruturas epoll, que surgiram no núcleo Linux 6.9.
  • A funcionalidade para detectar possíveis estouros de buffer e erros de segurança durante a execução de funções de manipulação de strings e gerenciamento de memória ("_FORTIFY_SOURCE") foi adaptada para a construção do Glibc utilizando o compilador Clang.
  • Na biblioteca de funções matemáticas vetoriais (libmvec), foram propostas implementações das funções acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh e tanh para a arquitetura Aarch64.
  • Nos sistemas x86, para acelerar a gravação de grandes conjuntos de dados na função memset, foi oferecida a possibilidade de desativar o uso de buffers temporários. A otimização é ativada pela configuração "x86_memset_non_temporal_threshold".
  • Os macros no arquivo de cabeçalho stdbit.h, que trabalham com diferentes tipos (type-generic), com o uso do GCC 14 foram alterados para usar funções incorporadas __builtin_stdc_bit_ceil para suportar operandos com tipos __int128 e _BitInt(N).
  • Os campos com contadores de época nos estruturas lastlog, utmp e utmpx foram alterados para usar um tipo não assinado, permitindo assim estender o tempo máximo endereçado pelo contador do ano de 2038 para 2106.
  • Vulnerabilidades corrigidas:
    • CVE-2024-2961 — estouro de buffer ao converter strings especialmente formatadas na codificação ISO-2022-CN-EXT pela função iconv(). Na prática, essa vulnerabilidade pode ser explorada para atacar remotamente aplicativos PHP, resultando na execução de código.
    • CVE-2024-33599 — estouro de buffer no código que lida com o cache netgroup no processo nscd (Name Service Cache Daemon). A vulnerabilidade pode ser explorada através do envio de uma solicitação especialmente formatada pelo cliente.
    • CVE-2024-33600 — desreferenciamento de ponteiro nulo no processo nscd, o que pode levar a um encerramento inesperado ao processar certas solicitações.
    • CVE-2024-33601 — um erro ao lidar com o cache netgroup pode causar um encerramento inesperado do processo nscd devido a falha na alocação de memória.
    • CVE-2024-33602 — corrupção de memória ao trabalhar com o cache netgroup no processo nscd.

    Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster