Консультативный статус
CVE-2025-56005 описывает небезопасную десериализацию посредством поддержки выбора таблицы синтаксического анализатора PLY. Текущая запись NVD/CVE содержит примечание о споре: третья сторона утверждает, что опубликованное доказательство не демонстрирует произвольное выполнение кода. Red Hat рассматривает проблему как контекстно-зависимую и оценивает ее как «Важную», а не принимает первоначальный универсальный критический рейтинг. [S1] [S2]
Когда риск реален
Исходный код PLY 3.11 принимает путь Pickle таблицы синтаксического анализатора и, когда существует существующий файл, считывает его с помощью загрузчика Pickle Python. Python Pickle небезопасен при пересечении границ доверия, поскольку загрузка созданных данных может привести к выполнению кода. Таким образом, опасное состояние требует как явного использования функции выбора таблицы синтаксического анализа, так и способа для менее доверенного пользователя, пути загрузки, задания сборки, общего тома, родственной службы или скомпрометированного источника артефакта для создания или замены файла. [S2] [S3]
Сами по себе данные репозитория не могут доказать, что парсер работает в рабочей среде, что файл существует или что злоумышленник может на него повлиять. Эти вопросы по развертыванию и файловой системе определяют, можно ли использовать конфигурацию.
Конкретные исправления
- Удалите опцию выбора таблицы синтаксического анализа из конструкции парсера PLY.
- Сгенерируйте таблицы синтаксического анализатора из надежного источника грамматики с помощью обычного пути сборки/импорта PLY.
- Удалите старые файлы Pickle таблицы синтаксического анализа из системы управления версиями, выходных данных сборки, кэшей, слоев контейнеров, хранилищ артефактов и развернутых томов перед повторной сборкой.
- Проверьте владение каталогом сборки и среды выполнения, чтобы загрузки, клиенты, пользователи, задания CI и родственные службы не могли заменить артефакты синтаксического анализатора.
- Запустите обычные регрессионные тесты синтаксического анализатора и выполните перестройку из чистой рабочей области. Не открывайте подозрительный рассол, чтобы проверить, является ли он вредоносным.
В проверенных источниках не указана исправленная версия PLY, а PyPI по-прежнему указывает версию 3.11 в качестве текущей версии. Удаление небезопасной конфигурации — это прямое исправление, а не ожидание исправления только версии. [S2] [S4]
Как это реализовано в FixVibe
Охвачено FixVibe. Авторизованное сканирование репозитория GitHub проверяет конфигурацию синтаксического анализатора Python на предмет явного использования небезопасного пути десериализации таблицы синтаксического анализатора PLY. Результаты сообщаются как вероятные проблемы высокой степени серьезности с местоположением источника и четким списком того, что остается непроверенным.
FixVibe не открывает файлы таблиц синтаксического анализа, не выполняет полезные данные Python, не запускает анализатор и не требует удаленного выполнения кода из свидетельств репозитория. Он также не отмечает зависимость PLY сам по себе; репозиторий должен содержать небезопасную исходную конфигурацию.
