This flaw allows a malicious HTTP server to set "super cookies" in curl that are then passed back to more origins than what is otherwise allowed or possible. This allows a site to set cookies that then would get sent to different and unrelated sites and domains.
It could do this by exploiting a mixed case flaw in curl's function that
verifies a given cookie domain against the Public Suffix List (PSL). For
example a cookie could be set with domain=co.UK
when the URL used a
lowercase hostname curl.co.uk
, even though co.uk
is listed as a PSL
domain.
{ "last_affected": "8.4.0", "CWE": { "desc": "Information Exposure Through Sent Data", "id": "CWE-201" }, "issue": "https://hackerone.com/reports/2212193", "award": { "amount": "2540", "currency": "USD" }, "severity": "Medium", "affects": "both", "URL": "https://curl.se/docs/CVE-2023-46218.json", "www": "https://curl.se/docs/CVE-2023-46218.html", "package": "curl" }
{ "vanir_signatures": [ { "target": { "file": "lib/cookie.c", "function": "Curl_cookie_add" }, "digest": { "length": 10170.0, "function_hash": "138260655856239098081716053511788377221" }, "signature_version": "v1", "source": "https://github.com/curl/curl.git/commit/2b0994c29a721c91c572cff7808c572a24d251eb", "id": "CURL-CVE-2023-46218-04099297", "signature_type": "Function", "deprecated": false }, { "target": { "file": "lib/cookie.c" }, "digest": { "line_hashes": [ "70157023922273088324427000884924629680", "92437533074026318023754548512791708265", "174781051971824864692061611806535615933", "317717153087227730924384644852634401824", "320223818076096336606365255275427779195", "147452772515304361370177013713828761412", "163503535934513669771314972304392725527", "231785432830425780566036868222861730032", "286735239701402540127725202216210978251", "193259407853272010415575233417515494247", "49884205652123128562972741131269080654" ], "threshold": 0.9 }, "signature_version": "v1", "source": "https://github.com/curl/curl.git/commit/2b0994c29a721c91c572cff7808c572a24d251eb", "id": "CURL-CVE-2023-46218-640d5c49", "signature_type": "Line", "deprecated": false } ] }