
Менеджер пакетов pnpm исправил обработку сжатых данных и операции подписи, pipx ускорил обновление сертификатов в общей копии pip, а бот Renovate расширил обновления безопасности на транзитивные зависимости из lock-файла.
pnpm закрыл утечки при распаковке и подписании
В pnpm 12.16, вышедшем 27 октября, исправлены ошибки работы с памятью при обработке данных, сжатых алгоритмом zstd. Специально подготовленные данные могли привести к раскрытию содержимого памяти или ошибкам её выделения.
Другая правка касается подписи общих артефактов и данных авторизации в pnpm и pnpr. Использованная криптографическая библиотека выполняла некоторые операции за время, зависящее от секретных значений. Наблюдая за такими различиями, атакующий потенциально мог восстановить секрет. Возможность атаки зависит от алгоритма, процессора, компилятора и доступа к измерениям. Разработчики обновили библиотеку, устранив известные отклонения от постоянного времени выполнения.
30 октября опубликовано предупреждение об автономных сборках pnpm. Даже пользователь pnpm 12 может запустить старую автономную сборку, если проект закреплён за pnpm 10 или 11. Такая сборка содержит собственный Node.js и может продолжать доверять скомпрометированным сертификатам eMudhra. В предыдущем выпуске мы называли исправленные версии 10.34.8 и 11.28.8. Проверить нужно и версии, закреплённые в проектах, особенно в CI.
pipx теперь обновляет общий pip без месячного ожидания
Менеджер Python-приложений pipx 1.18.7 вышел 28 октября и поднял минимальную версию общего pip до 26.2.2. В этой версии pip обновлён набор сертификатов после инцидента eMudhra. Многие установленные через pipx приложения используют именно общую копию pip, поэтому обновление pip в системном Python оставляло их загрузки без исправления.
Вместо ожидания очередного обновления раз в 30 дней pipx заменяет устаревший общий pip при следующей установке, обновлении или запуске приложения через pipx. Принудительно обновить его можно командой pipx upgrade-shared. Если автоматическое обслуживание отключено настройкой или флагом пропуска, то обновление придётся выполнить явно.
Собственные копии библиотеки certifi внутри приложений обновляются отдельно. Для приложений, установленных с использованием uv вместо pip, нужно обновить и сам uv. Порядок действий разработчики добавили в инструкцию по обновлению.
Renovate начал исправлять уязвимые зависимости через lock-файл
Вышедший 27 октября Renovate 44.189.0 расширил обработку предупреждений об уязвимостях на транзитивные зависимости, которые обнаружены только в lock-файле. Бот может подготовить обновление такого пакета без изменения прямой зависимости в манифесте, когда её ограничения допускают исправленную версию.
До изменения эти записи могли пропускаться при подборе обновлений. Проверка предупреждения теперь выполняется до пропуска, с учётом правил версий конкретного источника пакетов. Явные запреты пользователя и список игнорируемых зависимостей сохраняются.
В GitHub-репозитории должны быть включены граф зависимостей и предупреждения Dependabot, а у приложения Renovate — доступ к этим предупреждениям, как указано в документации. После обновления бота стоит проверить, появились ли запросы на исправление пакетов, которые уже отмечены в lock-файле как уязвимые.
Источник: habr.com