CVE-2026-27794

MEDIUM CVSS 3.1: 6,6 EPSS 0.32%
Обновлено 25 февраля 2026
Redis
Параметр Значение
CVSS 6,6 (MEDIUM)
Тип уязвимости CWE-502 (Десериализация недоверенных данных)
Поставщик Redis
Публичный эксплойт Нет

LangGraph Checkpoint определяет базовый интерфейс для контрольных точек LangGraph. До версии 4.0.0 на уровне кэширования LangGraph существовала уязвимость, связанная с удаленным выполнением кода, когда приложения включали серверные части кэширования, которые наследуются от BaseCache, и включали узлы в кэширование через CachePolicy. До версии `langgraph-checkpoint` 4.0.0 `BaseCache` по умолчанию имел значение `JsonPlusSerializer(pickle_fallback=True)`.

Если сериализация msgpack не удалась, кэшированные значения можно десериализовать с помощью `pickle.loads(...)`. Кэширование не включено по умолчанию. Приложения затрагиваются только тогда, когда приложение явно включает серверную часть кэша (например, передавая `cache=...` в `StateGraph.compile(...)` или иным образом настраивая реализацию BaseCache), один или несколько узлов включают кэширование через CachePolicy`, и злоумышленник может писать в серверную часть кэша (например, доступный по сети экземпляр Redis со слабой аутентификацией или без нее, инфраструктура общего кэша, доступная другим арендаторам/службам, или записываемый файл кэша SQLite).

Злоумышленник должен иметь возможность записывать контролируемые злоумышленником байты в серверную часть кэша, чтобы процесс LangGraph позже мог их прочитать и десериализовать. Обычно для этого требуется доступ на запись к сетевому кешу (например, доступный по сети экземпляр Redis со слабой аутентификацией или отсутствием аутентификации или инфраструктура общего кэша, доступная другим арендаторам/службам) или доступ на запись к локальному хранилищу кэша (например, доступный для записи файл кэша SQLite через разрешительные права доступа к файлу или общий доступный для записи том). Поскольку для эксплуатации требуется доступ для записи на уровень хранения кэша, это вектор эскалации после компрометации/после доступа. LangGraph Checkpoint 4.0.0 исправляет эту проблему.

Показать оригинальное описание (EN)

LangGraph Checkpoint defines the base interface for LangGraph checkpointers. Prior to version 4.0.0, a Remote Code Execution vulnerability exists in LangGraph's caching layer when applications enable cache backends that inherit from `BaseCache` and opt nodes into caching via `CachePolicy`. Prior to `langgraph-checkpoint` 4.0.0, `BaseCache` defaults to `JsonPlusSerializer(pickle_fallback=True)`. When msgpack serialization fails, cached values can be deserialized via `pickle.loads(...)`. Caching is not enabled by default. Applications are affected only when the application explicitly enables a cache backend (for example by passing `cache=...` to `StateGraph.compile(...)` or otherwise configuring a `BaseCache` implementation), one or more nodes opt into caching via `CachePolicy`, and the attacker can write to the cache backend (for example a network-accessible Redis instance with weak/no auth, shared cache infrastructure reachable by other tenants/services, or a writable SQLite cache file). An attacker must be able to write attacker-controlled bytes into the cache backend such that the LangGraph process later reads and deserializes them. This typically requires write access to a networked cache (for example a network-accessible Redis instance with weak/no auth or shared cache infrastructure reachable by other tenants/services) or write access to local cache storage (for example a writable SQLite cache file via permissive file permissions or a shared writable volume). Because exploitation requires write access to the cache storage layer, this is a post-compromise / post-access escalation vector. LangGraph Checkpoint 4.0.0 patches the issue.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Высокая
Сложно эксплуатировать
Нужны права
Высокие
Нужны права администратора
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1