
Разработчики выпустили новую версию Notepad++, текстового редактора с открытым исходным кодом. В релизе содержатся патчи для нескольких уязвимостей нулевого дня, поэтому пользователям настоятельно рекомендуют обновить софт.
0-day бреши связаны с переполнением буфера, при этом одна из них может привести к удаленному выполнению кода. Для эксплуатации потенциальную жертву надо заставить открыть специально подготовленные файлы.
Уязвимости нашел специалист GitHub Ярослав Лобачевский в версии Notepad++ 8.5.2. За последние несколько месяцев он не единожды сообщал о проблемах разработчикам текстового редактора.
Более того, исследователь опубликовал демонстрационный эксплойт, а это значит, что пользователям нужно как можно скорее установить патчи. Дыры содержатся в различных функциях и библиотеках Notepad++, они получили следующие идентификаторы:
- CVE-2023-40031 — переполнение буфера в функции Utf8_16_Read::convert, связано с преобразованием кодировки UTF16 в UTF8.
- CVE-2023-40036 — проблема чтения CharDistributionAnalysis::HandleOneChar.
- CVE-2023-40164 — переполнение буфера в nsCodingStateMachine::NextState. Связано с конкретной версией библиотеки uchardet и ее зависимостью от размера буфера charLenTable.
- CVE-2023-40166 — баг в FileManager::detectLanguageFromTextBegining, существующий из-за некорректной проверки длины буфера при определении языка.
Самая опасная из этих уязвимостей — CVE-2023-40031. Она получила 7,8 балла по шкале CVSS v3 и может привести к выполнению кода. Хотя отдельные специалисты на площадке GitHub выразили мнение, что добиться выполнения кода с помощью этой дыры практически невозможно.
Три другие бреши получили 5,5 балла и признаны проблемами средней степени риска.