Исследователи безопасности нашли уязвимость в библиотеке Python JSON Logger, позволяющую злоумышленникам подменить зависимость при установке из PyPI. Ошибку уже исправили, но при этом в менеджере пакетов PyPI могут находиться и другие библиотеки с похожей уязвимостью.
В списке зависимостей Python JSON Logger разработчики указали необязательную библиотеку msgspec-python313-pre. Система устанавливала её на компьютеры пользователей автоматически. В декабре 2024 года авторы msgspec-python313-pre удалили свой проект из PyPI, но не сообщили об этом администраторам. У злоумышленников была возможность подменить зависимость в каталоге так, чтобы во время сборки Python JSON Logger система устанавливала вредонос.
TOML-файл библиотеки Python JSON Logger
Это продемонстрировали исследователи безопасности. Они создали пакет с названием msgspec-python313-pre и показали, как он без проблем подтягивается на машину пользователя во время выполнения команды pip install python-json-logger[dev].
Об уязвимости сообщили администраторам PyPI. Ошибку исправили 7 марта 2025 года. Администраторы менеджера пакетов PyPI уже долгое время просят отключить возможность самостоятельного удаления пакетов, чтобы обезопасить пользователей от подобных атак. Разработчики пока так и не реализовали эту функцию.
Источник: habr.com