CVE-2026-115779: Effect: Cookie attribute injection via domain, path, and name fields in @effect/platform makeCookie()
The name, domain, and path fields of makeCookie() were validated with a regex that allows ;, the attribute separator in Set-Cookie headers. Because serializeCookie() writes those fields verbatim, a caller who passes untrusted input into any of them can append arbitrary attributes to the header.
For example, a domain of "legit.com; Domain=.parent.tld" serializes to session=token; Domain=legit.com; Domain=.parent.tld. RFC 6265 §5.3 takes the last occurrence, so the injected domain wins and the cookie widens to the parent domain. The same trick sets SameSite=None or Max-Age when the caller has not set those options itself.
The value field is unaffected: it passes through encodeURIComponent, which encodes ;. CR and LF are rejected by the existing regex, so header splitting is not possible.
References
- github.com/Effect-TS/effect/commit/4a57af24011db1d66e947289d2f7ffc2074696d2
- github.com/Effect-TS/effect/commit/5859b373b9be04d5037a594196b4743ad80379bd
- github.com/Effect-TS/effect/pull/6763
- github.com/Effect-TS/effect/pull/6765
- github.com/Effect-TS/effect/releases/tag/@effect/platform@0.97.1
- github.com/Effect-TS/effect/releases/tag/effect@4.0.0-beta.103
- github.com/Effect-TS/effect/security/advisories/GHSA-chp3-j5qr-2vfr
- github.com/advisories/GHSA-chp3-j5qr-2vfr
- nvd.nist.gov/vuln/detail/CVE-2026-115779
Code Behaviors & Features
Detect and mitigate CVE-2026-115779 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →