В популярной утилите для создания скриншотов Greenshot обнаружена критическая уязвимость безопасности, позволяющая локальным злоумышленникам выполнять произвольный вредоносный код в рамках доверенного процесса приложения. Уязвимость, получившая идентификатор CVE-2025-59050, затрагивает версии Greenshot до 1.3.300 и была устранена в версии 1.3.301, выпущенной 16 сентября 2025 года.
Детали уязвимости
Проблема возникает из-за небезопасной обработки межпроцессного взаимодействия Windows через систему сообщений WM_COPYDATA. Исследователь безопасности RipFran обнаружил, что приложение напрямую десериализует контролируемые злоумышленником данные с использованием опасного метода BinaryFormatter.Deserialize() без должной проверки.
Когда Greenshot обрабатывает сообщения WM_COPYDATA в своей функции WndProc, он копирует входящие байты из любого локального процесса и немедленно передает их BinaryFormatter для десериализации. Это происходит до выполнения каких-либо проверок авторизации, что означает возможность выполнения вредоносного кода независимо от проверки членства в канале.
Вектор атаки требует локального доступа, но не повышенных привилегий, что делает его особенно тревожным для корпоративных сред, где злоумышленники уже могут получить точку опоры на рабочих станциях. Любой локальный процесс, работающий на совместимом уровне целостности, может использовать эту уязвимость, отправляя специально созданные сообщения на главное окно Greenshot.
Особую опасность этой уязвимости придает то, что вредоносный код выполняется в рамках легитимного процесса Greenshot.exe, а не создает новые процессы. Это позволяет применять сложные методы уклонения от политик контроля приложений, таких как AppLocker или Windows Defender Application Control (WDAC), которые в основном отслеживают запуск исполняемых файлов.
Исследователь предоставил демонстрацию подтверждения концепции, показывающую, как злоумышленник может найти окно Greenshot, создать сериализованную полезную нагрузку и вызвать выполнение кода с использованием вызовов API SendMessage. В демонстрации эксплойт успешно запускал cmd.exe с Greenshot.exe в качестве родительского процесса, доказывая возможности произвольного выполнения кода.
Этот внутрипроцессный метод выполнения позволяет злоумышленникам запускать полезные нагрузки полностью в памяти без обращения к файловой системе, что значительно усложняет обнаружение для традиционных решений безопасности, ориентированных на файловые угрозы.
Команда разработчиков Greenshot выпустила версию 1.3.301 для устранения этой критической уязвимости и настоятельно рекомендует всем пользователям немедленно обновиться. Исправление устраняет небезопасную десериализацию путем реализации надлежащей проверки и элементов управления безопасностью для обработки межпроцессного взаимодействия.
Пользователям следует загружать последнюю версию исключительно с официального сайта Greenshot по адресу getgreenshot.org, чтобы гарантировать получение легитимной исправленной версии. Организациям следует уделить приоритетное внимание этому обновлению в своих циклах управления исправлениями, учитывая потенциальную возможность повышения привилегий и обхода политик безопасности. Своевременное применение исправлений остается важнейшим элементом защиты от современных киберугроз.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2025-59050
- https://github.com/greenshot/greenshot/security/advisories/GHSA-8f7f-x7ww-xx5w
- https://github.com/greenshot/greenshot/commit/f5a29a2ed3b0eb49231c0f4618300f488cf1b04d