VU#252619: Несколько уязвимостей десериализации в PyTorch Lightning версии 2.4.0 и более ранних
Версии PyTorch Lightning 2.4.0 и более ранние содержат уязвимости, связанные с небезопасной десериализацией ненадёжных данных. Эти уязвимости возникают из-за использования функции torch.load() без надлежащих мер безопасности. В частности, фреймворк не обеспечивает принудительное применение параметра weights_only=True, который снижает риски загрузки произвольного кода. Было выявлено пять уязвимостей, включая проблемы в интеграции DeepSpeed, классе PickleSerializer, функциях _load_distributed_checkpoint, _lazy_load и модуле Cloud_IO. Этим компонентам не хватает адекватной защиты при десериализации контрольных точек модели и связанных данных. Эксплуатация этих уязвимостей может позволить злоумышленным файлам выполнять произвольный код в системе. Это может привести к полному компрометированию системы, если пользователь неосознанно загрузит вредоносный файл из локального или удалённого источника. Меры защиты включают проверку происхождения файлов, использование изолированных сред и выполнение статического и динамического анализа. Рекомендуется отключать ненужные функции десериализации, гарантируя, что torch.load() всегда используется с параметром weights_only = True.
torch.load()без надлежащих мер безопасности. В частности, фреймворк не обеспечивает принудительное применение параметраweights_only=True, который снижает риски загрузки произвольного кода. Было выявлено пять уязвимостей, включая проблемы в интеграции DeepSpeed, классе PickleSerializer, функциях _load_distributed_checkpoint, _lazy_load и модуле Cloud_IO. Этим компонентам не хватает адекватной защиты при десериализации контрольных точек модели и связанных данных. Эксплуатация этих уязвимостей может позволить злоумышленным файлам выполнять произвольный код в системе. Это может привести к полному компрометированию системы, если пользователь неосознанно загрузит вредоносный файл из локального или удалённого источника. Меры защиты включают проверку происхождения файлов, использование изолированных сред и выполнение статического и динамического анализа. Рекомендуется отключать ненужные функции десериализации, гарантируя, чтоtorch.load()всегда используется с параметромweights_only = True.