CVE-2026-56813
Cookie attribute injection in Plug.Conn.Cookies.encode/2
Что произошло
Improper Neutralization of Parameter/Argument Delimiters vulnerability in elixir-plug plug allows an attacker to inject or override HTTP cookie attributes. The Plug.Conn.Cookies.encode/2 function in lib/plug/conn/cookies.ex builds the Set-Cookie response header by interpolating the cookie value and its path, domain, same_site, and extra attributes directly into the header without neutralizing the ; delimiter that separates cookie attributes. An application that places attacker-controlled data into a cookie value or attribute (for example via Plug.Conn.put_resp_cookie/4 when reflecting a username or preference) lets an attacker inject a ; to append or override cookie attributes (such as Domain and Path scope, or dropping the Secure and HttpOnly flags), enabling cookie tossing and session fixation. Carriage return, line feed, and null bytes are rejected by Plug.Conn header validation, so HTTP response splitting is not possible, but attribute injection through ; is not prevented. This issue affects plug: from 0.1.0 before 1.16.6, from 1.17.0 before 1.17.4, from 1.18.0 before 1.18.5, from 1.19.1 before 1.19.5, and from 1.20.0 before 1.20.3.
Что это значит
В источнике описана ошибка безопасности в перечисленных продуктах. Фактический риск зависит от установленной версии, конфигурации и доступности компонента; проверьте условия в первичном бюллетене.
Что делать
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. Временные меры
Validate or reject the ; delimiter in any untrusted data before passing it as a cookie value or attribute to Plug.Conn.put_resp_cookie/4 or Plug.Conn.Cookies.encode/2. Carriage return, line feed, and null bytes are already rejected by Plug.Conn header validation.
4. Проверьте следы эксплуатации
Проверьте аномальные входы, новые учётные записи, ошибки и необычные дочерние процессы в затронутом сервисе. Публичные проверенные правила обнаружения не включены в запись; отсутствие сигналов не доказывает отсутствие компрометации.
5. После исправления
- Проверьте фактическую версию и результат установки по бюллетеню.
- При необходимости перезапустите сервисы в согласованное окно.
- Повторите проверку сканером и функциональные проверки.
- Зафиксируйте результат, дату, владельца и оставшийся риск.
Продукты и затронутые версии
elixir-plug / plug
{
"status": "affected",
"version": "0.1.0",
"lessThan": "1.16.6",
"versionType": "semver"
}{
"status": "affected",
"version": "1.17.0",
"lessThan": "1.17.4",
"versionType": "semver"
}{
"status": "affected",
"version": "1.18.0",
"lessThan": "1.18.5",
"versionType": "semver"
}{
"status": "affected",
"version": "1.19.1",
"lessThan": "1.19.5",
"versionType": "semver"
}{
"status": "affected",
"version": "1.20.0",
"lessThan": "1.20.3",
"versionType": "semver"
}cpe:2.3:a:elixir-plug:plug:*:*:*:*:*:*:*:*
elixir-plug / plug
{
"status": "affected",
"changes": [
{
"at": "3f00dfad4e20ba88472e315c90a25742bf178f8e",
"status": "unaffected"
},
{
"at": "a6d1248659022749869963fd302687165ecf8c8b",
"status": "unaffected"
},
{
"at": "4167981747fe9ce75f374b94a28861ae950ea992",
"status": "unaffected"
},
{
"at": "149d9ed68fee0b4f77efd1e835ce5d785856697b",
"status": "unaffected"
},
{
"at": "eceb8315ce9a31ef784943a95a8624ebd1bc7e06",
"status": "unaffected"
}
],
"version": "f26876aa67aaeb38e616638aa3efbcc2fe2906a5",
"lessThan": "*",
"versionType": "git"
}cpe:2.3:a:elixir-plug:plug:*:*:*:*:*:*:*:*
CVSS: оценки и векторы
CVSS 4.0 · cve2.1
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N
Источники и ссылки
Происхождение полей
{
"cwes": [
"cve"
],
"epss": {
"source": "epss",
"received_at": "2026-11-03T21:14:11.088952+00:00"
},
"title": {
"source": "cve",
"received_at": "2026-10-28T20:08:59.545896+00:00"
},
"scores": [
"cve"
],
"status": {
"source": "cve",
"received_at": "2026-10-28T20:08:59.545896+00:00"
},
"affected": [
"cve"
],
"published": {
"source": "cve",
"received_at": "2026-10-28T20:08:59.545896+00:00"
},
"solutions": [],
"percentile": {
"source": "epss",
"received_at": "2026-11-03T21:14:11.088952+00:00"
},
"references": [
"cve"
],
"description": {
"source": "cve",
"received_at": "2026-10-28T20:08:59.545896+00:00"
},
"workarounds": [
"cve"
],
"configurations": []
}Хронология записи
- Данные обновлены04.11.2026, 00:14
- Данные обновлены03.11.2026, 00:13
- Данные обновлены02.11.2026, 00:11
- Данные обновлены31.10.2026, 11:58
- Данные обновлены29.10.2026, 12:32
- Появились сведения об исправлении28.10.2026, 23:09
Личная заметка и статус
Другие CVE того же продукта
| УЯЗВИМОСТЬ / ПРОДУКТ | ПРИОРИТЕТ | CVSS | EPSS | СИГНАЛЫ | ОПУБЛИКОВАНА | Карточка |
|---|---|---|---|---|---|---|
| CVE-2026-8468 Unbounded buffer accumulation in multipart header parsing causes denial of service in plug elixir-plug / plug | Высокий | 8.2 | 0,62 % | Патч | 14.05.2026 | |
| CVE-2026-105963 Secret key base exposed in stack trace arguments on wrong-typed Plug.Crypto arguments elixir-plug / plug · elixir-plug / plug_crypto | Средний | 5.1 | 0,51 % | Патч | 23.10.2026 | |
| CVE-2026-56814 Plug: multipart :length limit is not charged for part headers, enabling unbounded temp-file creation (denial of service) elixir-plug / plug | Средний | 6.9 | 1,08 % | Патч | 10.07.2026 | |
| CVE-2026-54892 Plug: quadratic-time decoding of nested query/body parameters enables denial of service elixir-plug / plug | Критический | 8.7 | 0,89 % | PoCПатч | 23.06.2026 |