В Банке данных угроз безопасности информации (BDU) зарегистрирована новая критическая уязвимость под идентификатором BDU:2025-15287. Эта уязвимость, также известная как CVE-2025-10155, обнаружена в популярном сканере безопасности Picklescan, который предназначен для анализа потенциально опасных файлов Pickle в экосистеме Python. Уязвимость позволяет удаленному злоумышленнику обойти механизмы защиты инструмента и выполнить произвольный код на целевой системе.
Детали уязвимости
Уязвимость затрагивает все версии Picklescan до включительно 0.0.30. Она была подтверждена производителем, а также в открытом доступе уже существуют эксплойты для её эксплуатации. Согласно классификации общей системы оценки уязвимостей (CVSS), проблема имеет критический уровень опасности. Например, базовая оценка по CVSS 3.1 достигает 9.8 баллов из 10 возможных.
Суть проблемы и вектор атаки
Техническая причина уязвимости кроется в функции "scan_bytes()". Конкретно, в недостаточной проверке вводимых данных (CWE-20). Алгоритм сканера некорректно проверяет расширения файлов при их анализе в оперативной памяти. Следовательно, злоумышленник может подготовить специальный вредоносный (malicious) файл, который будет воспринят сканером как безопасный. В результате, основной вредоносный код (payload) не будет обнаружен.
Таким образом, атака возможна в сценариях, где Picklescan используется как элемент защитного контура. Например, это может быть проверка пользовательских загрузок в веб-приложении или анализ моделей машинного обучения перед их использованием. Удаленный нарушитель, манипулируя ресурсами, может загрузить опасный файл Pickle. Затем, этот файл пройдет проверку сканером из-за его уязвимости. В конечном счете, при десериализации файла в целевой системе выполнится произвольный код злоумышленника. Это может привести к полному компрометированию системы.
Контекст важности инструмента
Picklescan является важным инструментом в области безопасности искусственного интеллекта и данных. Файлы Pickle широко используются в Python для сериализации объектов. В частности, они применяются для сохранения обученных моделей машинного обучения в таких фреймворках, как PyTorch. Однако, десериализация недоверенных файлов Pickle - это известный риск, поскольку она может привести к выполнению кода. Поэтому инструменты вроде Picklescan используются для статического анализа таких файлов на предмет опасных операций. Обнаруженная уязвимость подрывает самое основание доверия к этому средству защиты.
Рекомендуемые меры и обновление
Производитель ПО, Matthieu Maitre, оперативно отреагировал на сообщение об уязвимости. Проблема была полностью устранена в версии Picklescan 0.0.31. Соответственно, единственным надежным способом устранения уязвимости является немедленное обновление программного обеспечения до актуальной версии.
Администраторам и разработчикам, использующим Picklescan в своих проектах или инфраструктуре, настоятельно рекомендуется провести обновление. Все ссылки на патч и подробности исправления доступны в официальном репозитории проекта на GitHub. Кроме того, информацию можно найти в выпущенном производителем security advisory. Кстати, аналогичные рекомендации уже публикуют и независимые новостные издания, специализирующиеся на информационной безопасности.
Выводы для специалистов по безопасности
Появление критической уязвимости в самом инструменте безопасности - это всегда серьезный инцидент. Он напоминает о необходимости комплексного подхода к защите. Во-первых, нельзя полагаться на единственное средство контроля. Во-вторых, важно своевременно отслеживать уязвимости не только в основном прикладном ПО, но и во вспомогательных защитных решениях. Данный случай с Picklescan показывает, как уязвимость в сканере может сделать бессмысленным весь процесс проверки входящих данных. Следовательно, командам безопасности (SOC) и разработчикам следует пересмотреть свои процессы, если они зависели от уязвимых версий этого сканера. В заключение, быстрое применение патчей остается ключевым методом защиты от подобных критических угроз.
Ссылки
- https://bdu.fstec.ru/vul/2025-15287
- https://www.cve.org/CVERecord?id=CVE-2025-10155
- https://github.com/mmaitre314/picklescan/commit/28a7b4ef753466572bda3313737116eeb9b4e5c5
- https://github.com/mmaitre314/picklescan/releases/tag/v0.0.31
- https://github.com/mmaitre314/picklescan/blob/58983e1c20973ac42f2df7ff15d7c8cd32f9b688/src/picklescan/scanner.py#L463
- https://github.com/mmaitre314/picklescan/security/advisories/GHSA-jgw4-cr84-mqxg