Notepad++, celebre editor di codice sorgente open source, è stato aggiornato per correggere alcune vulnerabilità potenzialmente pericolose. Negli ultimi mesi, il ricercatore di sicurezza GitHub, Jaroslav Lobačevski, aveva segnalato tali vulnerabilità, presenti nella versione 8.5.2, agli sviluppatori della piattaforma. Quest’ultimi hanno deciso quindi di risolvere il problema rilasciando la nuova versione Notepad++ 8.5.7. In particolare, gli sviluppatori hanno corretto diversi errori di overflow del buffer zero-day, uno dei quali capace di portare all’esecuzione arbitraria di codice.
Notepad++ 8.5.7: gli errori di sicurezza risolti dagli sviluppatori
Gli errori individuati riguardano la sovrascrittura e lettura di buffer heap in diverse funzioni e librerie utilizzate da Notepad++. Lobačevski ha individuato 4 vulnerabilità importanti. La prima è CVE-2023-40031, ovvero overflow del buffer nella funzione Utf8_16_Read::convert, che veniva causato da presupposti errati sulle conversioni da codifica UTF16 a UTF8. Si tratta della vulnerabilità più pericolosa a cui è stato assegnato un punteggio CVSS v3 di 7,8 (ovvero alto). Si tratta infatti della vulnerabilità che potrebbe portare all’esecuzione arbitraria di codice. La seconda è CVE-2023-40036 e riguarda un overflow globale di lettura in CharDistributionAnalysis::HandleOneChar, causato da un ordine dell’indice dell’array che si basa sulla dimensione del buffer. Inoltre, è aggravato dall’utilizzo della libreria uchardet.
Il terzo, CVE-2023-40164, riguarda un overflow globale di lettura del buffer in nsCodingStateMachine::NextState, collegato ad una specifica libreria uchardet usata da Notepad++. Si tratta di una vulnerabilità dovuta alla sua dipendenza dalla dimensione del buffer charLenTable. L’ultima grande vulnerabilità corretta con la versione Notepad++ 8.5.7 è CVE-2023-40166. Questa dipende da un overflow di lettura del buffer heap in FileManager::detectLanguageFromTextBegining ed è causata dal mancato controllo della lunghezza del buffer durante il rilevamento della lingua del file.
Come già accennato, soltanto la prima vulnerabilità potrebbe essere molto dannosa. Gli altri tre bug hanno ottenuto un punteggio CVSS v3 di 5,5, ovvero di media gravità. Tuttavia, il ricercatore di GitHub ha dichiarato che questi potrebbero essere sfruttati per ottenere informazioni sull’allocazione della memoria interna. Con la versione Notepad++ 8.5.7, il rischio dovrebbe comunque essere scampato. Il nuovo aggiornamento ora è disponibile a livello globale ed è consigliato a tutti gli utenti della piattaforma.