LangGraph SQLite Checkpoint — это реализация LangGraph CheckpointSaver, которая использует базу данных SQLite (как синхронизированную, так и асинхронную, через aiosqlite). В версиях 4.1.0 и более ранних JsonPlusSerializer может реконструировать объекты Python из полезных данных контрольной точки JSON. В условиях, когда кто-то может изменить байты контрольной точки, находящиеся в резервном хранилище, путь десериализации может реконструировать объекты сверх того, что ожидает приложение, что, в свою очередь, может привести к выполнению кода во время загрузки контрольной точки.
Это проблема глубокоэшелонированной защиты. Затронутое поведение возможно только в том случае, если байты контрольной точки, находящиеся в резервном хранилище, могут быть изменены неавторизованной стороной. В большинстве развертываний это предварительное условие уже подразумевает серьезный инцидент; Дополнительная проблема заключается в том, чтобы превратить «доступ на запись в хранилище контрольных точек» в выполнение кода во время выполнения приложения.
Эта проблема исправлена в версии 4.1.1.
Показать оригинальное описание (EN)
LangGraph SQLite Checkpoint is an implementation of LangGraph CheckpointSaver that uses SQLite DB (both sync and async, via aiosqlite). In versions 4.1.0 and prior, the JsonPlusSerializer can reconstruct Python objects from JSON checkpoint payloads. Under conditions where someone could modify checkpoint bytes at rest in the backing store, the deserialization path could reconstruct objects beyond what the application expects, which could in turn result in code execution at checkpoint load time. This is a defense-in-depth issue. The affected behavior is reachable only when checkpoint bytes at rest in the backing store can be modified by an unauthorized party. In most deployments that prerequisite already implies a serious incident; the additional concern is turning "checkpoint-store write access" into code execution in the application runtime. This issue has been fixed in version 4.1.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Langchain Langgraph-Checkpoint
cpe:2.3:a:langchain:langgraph-checkpoint:*:*:*:*:*:python:*:*
|
— |
4.1.1
|