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.
{
"affects": "both",
"award": {
"amount": "2540",
"currency": "USD"
},
"CWE": {
"id": "CWE-201",
"desc": "Information Exposure Through Sent Data"
},
"www": "https://curl.se/docs/CVE-2023-46218.html",
"URL": "https://curl.se/docs/CVE-2023-46218.json",
"last_affected": "8.4.0",
"package": "curl",
"severity": "Medium",
"issue": "https://hackerone.com/reports/2212193"
}[
{
"signature_version": "v1",
"signature_type": "Function",
"digest": {
"function_hash": "138260655856239098081716053511788377221",
"length": 10170.0
},
"id": "CURL-CVE-2023-46218-04099297",
"source": "https://github.com/curl/curl.git/commit/2b0994c29a721c91c572cff7808c572a24d251eb",
"target": {
"function": "Curl_cookie_add",
"file": "lib/cookie.c"
},
"deprecated": false
},
{
"signature_version": "v1",
"signature_type": "Line",
"digest": {
"threshold": 0.9,
"line_hashes": [
"70157023922273088324427000884924629680",
"92437533074026318023754548512791708265",
"174781051971824864692061611806535615933",
"317717153087227730924384644852634401824",
"320223818076096336606365255275427779195",
"147452772515304361370177013713828761412",
"163503535934513669771314972304392725527",
"231785432830425780566036868222861730032",
"286735239701402540127725202216210978251",
"193259407853272010415575233417515494247",
"49884205652123128562972741131269080654"
]
},
"id": "CURL-CVE-2023-46218-640d5c49",
"source": "https://github.com/curl/curl.git/commit/2b0994c29a721c91c572cff7808c572a24d251eb",
"target": {
"file": "lib/cookie.c"
},
"deprecated": false
}
]