Уязвимость функции isInTrustedDirectory() сценария RunDlg.cpp текстового редактора Note... — 15 июня 2026 г. в 17:19:18.708
Уязвимость функции isInTrustedDirectory() сценария RunDlg.cpp текстового редактора Notepad++ связана c неоднозначным разрешением пути. Эксплуатация уязвимости может позволить нарушителю выполнить произвольный код BDU:2026-08136 CVE-2026-52884 Использование рекомендаций: " https://notepad-plus-plus.org/news/v8962-released/ https://github.com/notepad-plus-plus/notepad-plus-plus/commit/ea1508855e9c4528f6198ce9d345f13cb759ebf4 " Компенсирующие меры: Канонизируйте путь, используя функцию PathCanonicalize() или GetFullPathNameW() перед проверкой: bool isInTrustedDirectory(const wchar_t* path) { wchar_t canonicalPath[MAX_PATH] = {}; // Resolve .., ., and redundant separators if (!PathCanonicalize(canonicalPath, path)) return false; // NOW check against trusted directories for (auto& trusted : trustedDirs) { if (PathIsPrefix(trusted, canonicalPath)) return true; } return false; }

