E foi lançado o Notepad++ 8.5.7 com correções para falhas de segurança. Confira as novidades e veja como instalar no Linux.
Notepad++ é um popular editor de código-fonte gratuito que suporta muitas linguagens de programação, pode ser estendido por meio de plug-ins e oferece recursos que aumentam a produtividade, como edição com várias guias e realce de sintaxe.
O Notepad++ é um software livre e um editor de código veterano, leve e simples, mas poderoso e muito confortável graças a uma interface atípica.
Baseado no poderoso componente de edição Scintilla, Notepad++ é escrito em C++ e usa API Win32 pura e STL, o que garante uma maior velocidade de execução e menor tamanho de programa.
Agora, o Notepad ++ versão 8.5.7 foi lançado com correções para vários zero-day de estouro de buffer, com um deles marcado como potencialmente levando à execução de código, enganando os usuários para que abram arquivos especialmente criados.
Novidades do Notepad++ 8.5.7
O pesquisador de segurança do GitHub, Jaroslav Lobačevski, relatou as vulnerabilidades no Notepad++ versão 8.5.2 aos desenvolvedores nos últimos meses.
Explorações de prova de conceito também foram publicadas para essas falhas no comunicado público do pesquisador, tornando essencial que os usuários atualizem o programa o mais rápido possível.
As vulnerabilidades descobertas envolvem overflows de gravação e leitura de buffer de 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 : Estouro de buffer na função Utf8_16_Read::convert devido a suposições incorretas sobre conversões de codificação UTF16 para UTF8.
- CVE-2023-40036 : Estouro de leitura de buffer global em CharDistributionAnalysis::HandleOneChar causado por uma ordem de índice de matriz baseada no tamanho do buffer, exacerbado pelo uso da biblioteca uchardet.
- CVE-2023-40164 : Estouro de leitura de buffer global em nsCodingStateMachine::NextState. Isto 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 : O estouro de leitura do buffer de heap ocorre em FileManager::detectLanguageFromTextBegining devido à falha na verificação dos comprimentos do buffer durante a detecção do idioma do arquivo.
A mais grave dessas falhas é a CVE-2023-40031, com classificação CVSS v3 de 7,8 (alta), potencialmente levando à execução arbitrária de código.
Porém, um usuário contesta que seria possível realizar a execução de código utilizando essa falha devido ao tipo de erro que se trata.
“Embora seja tecnicamente um ‘estouro de buffer’, é na verdade apenas um bug pontual com praticamente nenhuma chance de permitir a execução arbitrária de código”, diz um comentário a uma edição do GitHub aberta sobre as falhas.
Os outros três problemas são de gravidade média (5,5) que Lobačevski diz que podem ser aproveitados para vazar informações de alocação de memória interna.
Apesar do blog de Lobačevski e das explorações de prova de conceito 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, um problema público foi criado para reconhecer o problema, e as correções para as quatro falhas chegaram ao ramo principal do código em 3 de setembro de 2023.
Enfim, o Notepad++ 8.5.7 já foi lançado e deve ser instalado para corrigir as quatro vulnerabilidades e outros bugs listados no changelog.
Para saber mais sobre essa versão do Notepad++ 8.5.7, acesse a nota de lançamento.
Como instalar ou atualizar o Notepad++
Esse aplicativo está disponível apenas para o Windows, devido, em parte, ao fato de ele usar tecnologias proprietárias do sistema operacional da Microsoft.
Mas através do Snap já é possível instalar o Notepad++ no Linux, seja através do repositório de aplicativos (GNOME Software ou Discover, principalmente) ou do terminal.
Para instalar a versão mais recente do Notepad++ nas principais distribuições Linux, use esse tutorial:
Como instalar o editor de código Notepad++ no Linux via Snap