CRLF injection in cookie domain/path options in hackney
Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in benoitc hackney allows HTTP Response Splitting. The hackney_cookie:setcookie/3 function in src/hackney_cookie.erl validates the Name and Value arguments against CRLF and control characters, but concatenates the domain and path options verbatim into the output iolist with no equivalent check. An attacker who controls either option — for example by supplying a Host header value forwarded as the cookie domain, or a request path forwarded as the cookie path — can inject a literal CRLF sequence and arbitrary additional Set-Cookie headers into the HTTP response. This issue affects hackney: from 0.9.0 before 4.0.1.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-47069
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 04:37 UTC · Revision 1
Source evidence
CRLF injection in cookie domain/path options in hackney
core-osv · Original sourcePublished 25 May 2026, 14:00 UTC
Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in benoitc hackney allows HTTP Response Splitting. The hackney_cookie:setcookie/3 function in src/hackney_cookie.erl validates the Name and Value arguments against CRLF and control characters, but concatenates the domain and path options verbatim into the output iolist with no equivalent check. An attacker who controls either option — for example by supplying a Host header value forwarded as the cookie domain, or a request path forwarded as the cookie path — can inject a literal CRLF sequence and arbitrary additional Set-Cookie headers into the HTTP response. This issue affects hackney: from 0.9.0 before 4.0.1.
osv:CVE-2026-47069
Complete source record
{
"id": "315b81d33912df06118a9bbf9ad465d3145a1e89d28e24f254dcc0520b3a15a5",
"url": "https://osv.dev/vulnerability/CVE-2026-47069",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CRLF injection in cookie domain/path options in hackney",
"summary": "Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in benoitc hackney allows HTTP Response Splitting. The hackney_cookie:setcookie/3 function in src/hackney_cookie.erl validates the Name and Value arguments against CRLF and control characters, but concatenates the domain and path options verbatim into the output iolist with no equivalent check. An attacker who controls either option — for example by supplying a Host header value forwarded as the cookie domain, or a request path forwarded as the cookie path — can inject a literal CRLF sequence and arbitrary additional Set-Cookie headers into the HTTP response. This issue affects hackney: from 0.9.0 before 4.0.1.",
"evidence": "osv:CVE-2026-47069",
"products": [],
"severity": "low",
"structured": {
"id": "CVE-2026-47069",
"aliases": [
"CVE-2026-47069",
"EEF-CVE-2026-47069",
"GHSA-mp55-p8c9-rfw2"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "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"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/benoitc/hackney",
"type": "GIT",
"events": [
{
"introduced": "7011a86c4d6e9ca4a96784d05dda4d9cea14e768"
},
{
"fixed": "c41c8d48ace8141b003f6f1de3ca6734a0c53056"
},
{
"fixed": "8e02b99c28aea1b3fa2ddc0e66f51fe5bb0ac540"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:benoitc:hackney:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0.9.0"
},
{
"fixed": "4.0.1"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "8e02b99c28aea1b3fa2ddc0e66f51fe5bb0ac540"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"4.0.0",
"3.2.1",
"3.2.0",
"3.1.2",
"3.1.1",
"3.1.0",
"3.0.3",
"3.0.2",
"3.0.1",
"2.0.1",
"2.0.0",
"2.0.0-beta.1",
"1.25.0",
"1.24.1",
"1.24.0",
"1.23.0",
"1.22.0",
"1.21.0",
"1.20.1",
"1.20.0",
"1.19.1",
"1.19.0",
"1.18.2",
"1.18.1",
"1.18.0",
"1.17.4",
"1.17.3",
"1.17.2",
"v1.17.0",
"1.17.0",
"1.17.1",
"1.16.0",
"0.16.0",
"1.15.2",
"1.15.1",
"1.15.0",
"1.14.3",
"1.14.2",
"1.14.0",
"1.13.0",
"1.12.1",
"1.12.0",
"1.11.0",
"1.10.1",
"1.10.0",
"1.9.0",
"1.8.6",
"1.8.5",
"1.8.4",
"1.8.3",
"1.8.2",
"1.8.0",
"1.7.1",
"1.7.0",
"1.6.6",
"1.6.5",
"1.6.4",
"1.6.3",
"1.6.2",
"1.6.1",
"1.6.0",
"1.5.7",
"1.5.6",
"1.5.5",
"1.5.4",
"1.5.1",
"1.5.0",
"1.4.10",
"1.4.9",
"1.4.8",
"1.4.7",
"1.4.6",
"1.4.5",
"1.4.4",
"1.4.3",
"1.4.2",
"1.4.1",
"1.4.0",
"1.3.2",
"1.3.1",
"1.3.0",
"1.2.0",
"1.1.0",
"1.0.6",
"1.0.5",
"1.0.4",
"1.0.3",
"1.0.2",
"1.0.1",
"1.0.0",
"0.15.2",
"0.15.1",
"0.15.0",
"0.14.3",
"0.14.2",
"0.14.1",
"0.14.0",
"0.13.1",
"0.13.0",
"0.12.1",
"0.12.0",
"0.11.2",
"0.11.1",
"0.11.0",
"0.10.1",
"0.10.0",
"0.9.1",
"0.9.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-47069.json"
}
}
],
"modified": "2026-10-28T02:30:33.344703825Z",
"provider": "osv",
"references": [
"https://cna.erlef.org/cves/CVE-2026-47069.html",
"https://github.com",
"https://osv.dev/vulnerability/EEF-CVE-2026-47069",
"https://repo.hex.pm",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47069.json",
"https://github.com/benoitc/hackney/security/advisories/GHSA-mp55-p8c9-rfw2",
"https://nvd.nist.gov/vuln/detail/CVE-2026-47069",
"https://github.com/benoitc/hackney/commit/8e02b99c28aea1b3fa2ddc0e66f51fe5bb0ac540",
"https://github.com/benoitc/hackney"
],
"provider_metadata": {
"cwe_ids": [
"CWE-93"
],
"cna_assigner": "EEF",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47069.json"
}
},
"related_cves": [
{
"value": "CVE-2026-47069",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 500340,
"published_at": "2026-05-25T14:00:39.394+00:00"
}