Notepad++ corrige cuatro vulnerabilidades de seguridad en su versión 8.5.7
Notepad++ corrige cuatro vulnerabilidades de seguridad en su versión 8.5.7

Notepad++ corrige cuatro vulnerabilidades de seguridad en su versión 8.5.7

El editor de texto Notepad++ ha lanzado la versión 8.5.7, que incluye correcciones para varias vulnerabilidades de seguridad relacionadas con desbordamientos de búfer. Una de estas fallas podría permitir la ejecución de código si los usuarios abren archivos especialmente diseñados.

Descubrimiento y análisis de las vulnerabilidades

El investigador de seguridad de GitHub, Jaroslav Lobačevski, informó a los desarrolladores sobre estas vulnerabilidades en la versión 8.5.2 del software durante los últimos meses. Las fallas afectan funciones y bibliotecas utilizadas por Notepad++ y están relacionadas con desbordamientos de escritura y lectura del búfer de almacenamiento dinámico.

Detalles de las vulnerabilidades

  • CVE-2023-40031: Desbordamiento del búfer en la función Utf8_16_Read::convert debido a suposiciones incorrectas sobre las conversiones de codificación UTF16 a UTF8.
  • CVE-2023-40036: Desbordamiento de lectura del búfer global en CharDistributionAnalysis::HandleOneChar causado por un orden de índice de matriz basado en el tamaño del búfer, exacerbado por el uso de la biblioteca uchardet.
  • CVE-2023-40164: Desbordamiento de lectura del búfer global en nsCodingStateMachine::NextState. Esto está vinculado a una versión específica de la biblioteca uchardet utilizada por Notepad++, vulnerable debido a su dependencia del tamaño del búfer charLenTable.
  • CVE-2023-40166: Desbordamiento de lectura del búfer del montón en FileManager::detectLanguageFromTextBegining debido a que no se pueden verificar las longitudes del búfer durante la detección del idioma del archivo.

Gravedad y posibles explotaciones

El más grave de estos fallos es CVE-2023-40031, al que se le ha asignado una calificación CVSS v3 de 7,8 (alta), lo que podría provocar la ejecución de código arbitrario. Sin embargo, un usuario cuestiona que sea posible realizar la ejecución de código utilizando esta falla debido al tipo de error que es.

«Si bien técnicamente es un ‘desbordamiento de búfer’, en realidad es solo un error de dos en dos con prácticamente cero posibilidades de permitir la ejecución de código arbitrario», se lee en un comentario en un problema de GitHub abierto sobre las fallas.

Los otros tres problemas son problemas de gravedad media (5,5) que, según Lobačevski, podrían aprovecharse para filtrar información de asignación de memoria interna.

Publicación y corrección de las vulnerabilidades

A pesar de que el blog de Lobačevski y las pruebas de concepto se publicaron el 21 de agosto de 2023, el equipo de desarrollo de Notepad++ no se apresuró a responder a la situación hasta que la comunidad de usuarios presionó para obtener una resolución.

Finalmente, el 30 de agosto de 2023, se creó un problema público para reconocer el problema y las correcciones de las cuatro fallas llegaron a la rama del código principal el 3 de septiembre de 2023.

Disponibilidad de la versión corregida

Notepad++ 8.5.7 ya se lanzó y debe instalarse para corregir las cuatro vulnerabilidades y otros errores enumerados en el registro de cambios.