Небезопасная десериализация
Десериализация недоверенных данных может привести к выполнению произвольного кода.
Сигнатура
Insecure DeserializationНебезопасная десериализация возникает, когда приложение восстанавливает объект из недоверенных данных опасным форматом (например pickle в Python). Подготовленный пакет может выполнить произвольный код при загрузке.
Как защититься: не десериализуйте недоверенные данные опасными форматами; используйте безопасные форматы данных (JSON) и схемы валидации; при необходимости подписывайте сериализованные данные и проверяйте подпись.
import json, pickle
# Опасно: pickle выполнит код из подготовленных данных
# obj = pickle.loads(untrusted_bytes)
# Безопасно: JSON только описывает данные, не код
obj = json.loads(untrusted_text)