Uma vulnerabilidade foi descoberta na biblioteca padrão C Glibc (CVE-2024-2961), levando a um estouro de buffer durante a conversão de strings especialmente formatadas na codificação ISO-2022-CN-EXT pela função iconv(). O pesquisador que identificou o problema planeja se apresentar na conferência OffensiveCon em 10 de maio, mencionando a possibilidade de exploração da vulnerabilidade através de aplicativos em PHP. A vulnerabilidade afeta todo o ecossistema PHP e alguns aplicativos.
Ao converter strings na codificação UCS4, de acordo com os requisitos do RFC 1922, a biblioteca adiciona alguns caracteres de escape que destacam partes da string onde a codificação foi alterada. A vulnerabilidade é causada pela verificação inadequada dos limites dos buffers internos pela função iconv(), o que pode resultar em um estouro de buffer de até 4 bytes. Durante o estouro, certos valores fixos podem ser gravados além do limite do buffer, como ‘$+I’, ‘$+J’, ‘$+K’, ‘$+L’, ‘$+M’ e ‘$*H’. Embora a exploração de uma vulnerabilidade como essa para execução de código pareça improvável, o pesquisador que a descobriu afirmou que isso foi suficiente para desenvolver vários protótipos de exploits para ataques remotos a aplicativos PHP, resultando na execução de código.
A vulnerabilidade existe desde 2000 e foi corrigida na versão em desenvolvimento do Glibc 2.40. A correção também está disponível na forma de patches para versões do Glibc de 2.32 a 2.39. Nos distribuições, é possível acompanhar a correção da vulnerabilidade nas páginas: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.
Fonte: opennet.ru
