CVE-2026-40087
LangChain has incomplete f-string validation in prompt templates
Что произошло
LangChain is a framework for building agents and LLM-powered applications. Prior to 0.3.84 and 1.2.28, LangChain's f-string prompt-template validation was incomplete in two respects. First, some prompt template classes accepted f-string templates and formatted them without enforcing the same attribute-access validation as PromptTemplate. In particular, DictPromptTemplate and ImagePromptTemplate could accept templates containing attribute access or indexing expressions and subsequently evaluate those expressions during formatting. Second, f-string validation based on parsed top-level field names did not reject nested replacement fields inside format specifiers. In this pattern, the nested replacement field appears in the format specifier rather than in the top-level field name. As a result, earlier validation based on parsed field names did not reject the template even though Python formatting would still attempt to resolve the nested expression at runtime. This vulnerability is fixed in 0.3.84 and 1.2.28.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
1. Проверьте, затронуты ли вы
Соберите инвентаризацию и сравните с таблицей затронутых версий. Эти команды только показывают установленные компоненты и сами по себе не доказывают наличие CVE.
dpkg-query -W -f='${Package} ${Version}\n'rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\n'Get-HotFix | Select-Object HotFixID, InstalledOn
2. Установите исправление
Сверьте точный продукт и версию с бюллетенем вендора. Установите указанное в нём исправление после резервного копирования и проверки совместимости. Подтверждённая целевая версия в источниках отсутствует.
3. Временные меры
До проверки бюллетеня ограничьте доступ к затронутому компоненту доверенными узлами. Оцените сегментацию и отключение ненужных интерфейсов с владельцем сервиса; универсального правила WAF для этой CVE не подтверждено.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
langchain-ai / langchain
{
"status": "affected",
"version": "< 0.3.83"
}{
"status": "affected",
"version": ">= 1.0.0a1, < 1.2.28"
}langchain-core PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "0.3.84"
}langchain-core PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "1.2.28",
"versionStartIncluding": "1.0.0a1"
}langchain-core PyPI
{
"status": "affected",
"version": "*",
"versionEndExcluding": "0.3.84"
}{
"status": "affected",
"version": "*",
"versionEndExcluding": "1.2.28",
"versionStartIncluding": "1.0.0a1"
}CVSS: оценки и векторы
CVSS 3.1 · cve5.3
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-05T21:14:15.698864+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T20:04:39.688862+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T20:04:39.688862+00:00"
},
"affected": [
"cve",
"osv"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T20:04:39.688862+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-05T21:14:15.698864+00:00"
},
"references": [
"cve",
"osv"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T20:04:39.688862+00:00"
},
"workarounds": [],
"configurations": []
}Хронология записи
- Данные обновлены06.11.2026, 00:14
- Данные обновлены05.11.2026, 00:17
- Данные обновлены04.11.2026, 00:13
- Данные обновлены03.11.2026, 00:12
- Данные обновлены02.11.2026, 15:11
- Данные обновлены02.11.2026, 13:39
- Данные обновлены02.11.2026, 00:11
- Данные обновлены31.10.2026, 11:58
- Данные обновлены29.10.2026, 12:26
- Опубликована28.10.2026, 23:04
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2023-32785 Langchain SQL Injection vulnerability langchain | Критический | 9.8 | — | Патч | 21.10.2023 | |
| CVE-2025-68664 LangChain serialization injection vulnerability enables secret extraction in dumps/loads APIs langchain-ai / langchain · langchain-core | Критический | 9.3 | 42,93 % | PoCПатч | 24.12.2025 | |
| CVE-2026-55443 LangChain: Path traversal and sandbox escape in LangChain file-search middleware and loaders langchain-ai / langchain · langchain-ai / langchain-anthropic | Средний | 5.1 | 0,21 % | Патч | 22.06.2026 | |
| CVE-2026-44843 LangChain: Unsafe deserialization of attacker-controlled LangChain objects through overly broad `load()` allowlists langchain-ai / langchain · langchain-core | Высокий | 8.2 | 0,41 % | 26.05.2026 | ||
| CVE-2026-45134 LangSmith Client SDK: Public prompt pull deserializes untrusted manifests without trust boundary warning langchain-ai / langsmith-sdk · langchain-classic | Высокий | 7.1 | 0,2 % | 27.05.2026 |