Uma vulnerabilidade no Musl, explorada ao reencodar texto na codificação EUC-KR

Foi identificada uma vulnerabilidade na biblioteca padrão C Musl (CVE-2024-2961), que resulta em um estouro de buffer ao converter texto especialmente formatado da codificação EUC-KR para UTF-8 usando a função iconv(). A vulnerabilidade se manifesta a partir da versão musl 0.9.13 e será corrigida na próxima versão 1.2.6 (até a publicação da atualização, um patch deve ser usado). A vulnerabilidade foi descoberta durante testes de fuzzing realizados pelo mantenedor da biblioteca libxml2.

A vulnerabilidade pode ser explorada para realizar ataques em aplicativos compilados com a biblioteca Musl que realizam a recodificação de texto proveniente de fontes externas. A exploração da vulnerabilidade é possível ao chamar no aplicativo a função iconv_open() com a codificação de origem EUC-KR e a codificação de destino UTF-8. Como exemplo de aplicativos potencialmente vulneráveis, são mencionados programas que recodificam XML, HTML e mensagens de email com base na codificação especificada no cabeçalho com tipo MIME (por exemplo, "text/plain; charset=EUC-KR"). Programas que utilizam a biblioteca libxml2 realizam tais recodificações.

A vulnerabilidade é causada por uma combinação de dois erros. O primeiro erro está relacionado à falta de verificação adequada de sequências multibyte inválidas no decodificador EUC-KR. O segundo erro encontra-se no codificador UTF-8, que não foi projetado para lidar com o retorno de valores escalares Unicode inválidos pelo decodificador de entrada. Como resultado, o processamento de sequências como "\xc8\x41" leva à escrita de valores além do limite do buffer alocado.

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