LangChain является основой для строительных агентов и приложений на базе LLM. До 0.3.85 и 1.3.3 LangChain содержит более старые пути кода в…
LangChain является основой для строительных агентов и приложений на базе LLM. До 0.3.85 и 1.3.3 LangChain содержит более старые пути кода времени выполнения, которые дезериализуют входные данные запуска, запуски или другие управляемые приложениями полезные нагрузки с использованием слишком широких списков разрешений объектов. Эти пути могут вызывать load() с разрешенным_объектами="все". Это не позволяет произвольное десериалиализацию объектов Python, но позволяет возродить любой доверенный последовательно-серийный объект LangChain, что шире, чем требуют эти пути времени выполнения. В результате, поставляемые злоумышленником сериализованные словари конструкторов LangChain могут привести к тому, что доверенные пути времени выполнения могут инстанцировать классы с ненадежными аргументами конструктора. Эта уязвимость зафиксирована в пункте 0.3.85 и 1.3.3.
Продукт десериализует ненадёжные данные без достаточной проверки того, что полученные данные окажутся допустимыми.
https://cwe.mitre.org/data/definitions/502.html →Открыть в коллекции CWE →Злоумышленник пытается эксплуатировать приложение путём внедрения дополнительного вредоносного содержимого в процессе обработки сериализованных объектов. Разработчики используют сериализацию для преобразования данных или состояния в статичный двоичный формат с целью сохранения на диск или передачи по сети. Впоследствии эти объекты десериализуются для восстановления данных/состояния. Внедряя некорректный объект в уязвимое приложение, злоумышленник потенциально может скомпрометировать его, манипулируя процессом десериализации. Это может привести к ряду нежелательных последствий, включая удалённое выполнение кода.
https://capec.mitre.org/data/definitions/586.html →Открыть в коллекции CAPEC →