A versão 8.5.7 do Notepad++ foi lançada com correções para diversos overflows de buffer do tipo zero-day, com um deles marcado como potencialmente levando à execução de código ao enganar usuários para abrirem arquivos especialmente criados.
O Notepad++ é um popular editor de código-fonte gratuito que suporta muitas linguagens de programação, pode ser estendido por meio de plugins e oferece recursos que aumentam a produtividade, como edição com múltiplas abas e destaque de sintaxe.
O pesquisador de segurança do GitHub, Jaroslav Lobačevski, relatou as vulnerabilidades na versão 8.5.2 do Notepad++ para os desenvolvedores nos últimos meses.
Provas de conceito de exploração também foram publicadas para estas falhas no aviso público do pesquisador, tornando essencial que os usuários atualizem o programa o mais rapidamente possível.
As vulnerabilidades descobertas envolvem overflows de escrita e leitura de buffer do heap em várias funções e bibliotecas usadas pelo Notepad++.
Aqui está um resumo das quatro falhas descobertas pelo pesquisador do GitHub:
CVE-2023-40031
: Buffer overflow na função Utf8_16_Read::convert por suposições incorretas sobre conversões de codificação UTF16 para UTF8.
CVE-2023-40036
: Leitura global de um overflow de buffer em CharDistributionAnalysis::HandleOneChar causado por uma ordem de índice de array baseada no tamanho do buffer, exacerbada pelo uso da biblioteca uchardet.
CVE-2023-40164
: Leitura global de um overflow de buffer em nsCodingStateMachine::NextState.
Isso está ligado a uma versão específica da biblioteca uchardet usada pelo Notepad++, vulnerável devido à sua dependência do tamanho do buffer charLenTable.
CVE-2023-40166
: Overflow de leitura de buffer do heap ocorre em FileManager::detectLanguageFromTextBegining devido à falha em verificar os comprimentos de buffer durante a detecção de linguagem de arquivo.
A falha mais grave é a
CVE-2023-40031
, que recebeu uma classificação CVSS v3 de 7.8 (alta), podendo levar à execução arbitrária de código.
Entretanto, um usuário contesta que seria possível realizar a execução de código usando essa falha devido ao tipo de erro que é.
"Embora seja tecnicamente um 'buffer overflow', trata-se realmente apenas de um bug off-by-two, com praticamente nenhuma chance de permitir a execução de código arbitrário," lê-se em um comentário a uma issue do GitHub aberta sobre as falhas.
Os outros três problemas são de média gravidade (5.5) que Lobačevski disse que poderiam ser aproveitados para vazar informações sobre alocação de memória interna.
Apesar do blog e das provas de conceito de exploração de Lobačevski terem sido publicadas em 21 de agosto de 2023, a equipe de desenvolvimento do Notepad++ não se apressou em responder à situação até que a comunidade de usuários pressionou por sua resolução.
Eventualmente, em 30 de agosto de 2023, uma issue pública foi criada para reconhecer o problema, e as correções para as quatro falhas foram inseridas na branch principal do código em 3 de setembro de 2023.
O Notepad++ 8.5.7 agora foi lançado e deve ser instalado para corrigir as quatro vulnerabilidades e outros bugs listados no changelog.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...