Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker submits HTTP request with `;`-injected payload in user-controlled field
-
DeliveryApplication passes payload to `put_resp_cookie/4` without sanitization
-
Exploit`Cookies.encode/2` interpolates `;` into Set-Cookie header unescaped
-
ExecutionBrowser parses injected cookie attributes as legitimate
-
PersistCookie domain or path scope widened or Secure/HttpOnly flags stripped
-
ImpactSession fixation or cross-domain cookie tossing achieved
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | Exploitation requires that the target application passes attacker-influenced data - such as a user-supplied username, locale preference, redirect path, or any other externally sourced value - directly into the value or optional attribute parameters (path, domain, same_site, extra) of |
| Impact | The CNA-assigned CVSS 4.0 score of 2.1 (AV:L/AC:L/AT:P/PR:N/UI:N) appears to underrepresent network reachability: the practical attack path is HTTP-based, not local system access, suggesting AV:L may reflect conservative scoring of a server-side code-quality issue rather than directly network-exploitable behavior. The AT:P metric correctly captures the critical limiting factor - only applications routing attacker-controlled data into |
| Exploit ScenarioDerived | An attacker registers an account with a crafted username such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 10, 2026
Cookie attribute injection in elixir-plug's Plug library allows a remote attacker who can supply values reflected into Set-Cookie headers to inject the ; delimiter and override attributes such as Domain, Path, Secure, and HttpOnly. Applications calling Plug.Conn.put_resp_cookie/4 with user-controlled data - for example, reflecting a username or preference value - are exposed to session fixation and cookie tossing across five supported release lines (0.1.0 through 1.20.2). No public exploit code or CISA KEV listing is present at time of analysis, but the attack is mechanically straightforward wherever the vulnerable code pattern exists.
RemediationAI
Upgrade Plug to the patched release for your active branch: 1.16.6, 1.17.4, 1.18.5, 1.19.5, or 1.20.3, referencing the upstream fix commit at https://github.com/elixir-plug/plug/commit/c6575800b2c4e15af1904df87522ca8a23da020c and the full advisory at https://github.com/elixir-plug/plug/security/advisories/GHSA-wpmj-jh88-rpgm. As an interim measure pending upgrade, audit all invocations of Plug.Conn.put_resp_cookie/4 and Plug.Conn.put_resp_cookie/3 in the codebase and strip or reject ; characters from any attacker-influenced inputs before they reach cookie parameters - note that ad-hoc sanitization risks incomplete coverage across all call sites and should not substitute for patching. Applications that set only server-generated, static cookie values are not exposed and do not require emergency remediation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in Plug.Conn.Cookies.encode/2 within lib/plug/conn/cookies.ex - the core cookie-serialization function of elixir-plug, the foundational HTTP middleware used by Phoenix and other Elixir web frameworks. The root cause (CWE-141: Improper Neutralization of Parameter/Argument Delimiters) is direct string interpolation of the cookie value, path, domain, same_site, and extra attributes into the Set-Cookie response header without stripping or encoding the ; character, which RFC 6265 uses to delimit cookie attributes. Plug's existing header validation does reject CRLF and null bytes - precluding HTTP response splitting - but the ; delimiter passes through unfiltered. Affected versions span plug 0.1.0-1.16.5, 1.17.0-1.17.3, 1.18.0-1.18.4, 1.19.0-1.19.4, and 1.20.0-1.20.2.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network vector for HTTP-based attack; AC:H for prerequisite of reflecting user data into cookies; S:C for cross-browser cookie security impact.
Primary rating from Vendor (6b3ad84c-e1a6-4bf7-a703-f496b71e49db).
CVSS VectorVendor: 6b3ad84c-e1a6-4bf7-a703-f496b71e49db
Lifecycle Timeline
1DescriptionCVE.org
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.0 before 1.19.5, from 1.20.0 before 1.20.3.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
EUVD-2026-42876
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB