gsd-2023-38546
Vulnerability from gsd
Modified
2023-12-13 01:20
Details
This flaw allows an attacker to insert cookies at will into a running program
using libcurl, if the specific series of conditions are met.
libcurl performs transfers. In its API, an application creates "easy handles"
that are the individual handles for single transfers.
libcurl provides a function call that duplicates en easy handle called
[curl_easy_duphandle](https://curl.se/libcurl/c/curl_easy_duphandle.html).
If a transfer has cookies enabled when the handle is duplicated, the
cookie-enable state is also cloned - but without cloning the actual
cookies. If the source handle did not read any cookies from a specific file on
disk, the cloned version of the handle would instead store the file name as
`none` (using the four ASCII letters, no quotes).
Subsequent use of the cloned handle that does not explicitly set a source to
load cookies from would then inadvertently load cookies from a file named
`none` - if such a file exists and is readable in the current directory of the
program using libcurl. And if using the correct file format of course.
Aliases
Aliases
{ "GSD": { "alias": "CVE-2023-38546", "id": "GSD-2023-38546" }, "gsd": { "metadata": { "exploitCode": "unknown", "remediation": "unknown", "reportConfidence": "confirmed", "type": "vulnerability" }, "osvSchema": { "aliases": [ "CVE-2023-38546" ], "details": "This flaw allows an attacker to insert cookies at will into a running program\nusing libcurl, if the specific series of conditions are met.\n\nlibcurl performs transfers. In its API, an application creates \"easy handles\"\nthat are the individual handles for single transfers.\n\nlibcurl provides a function call that duplicates en easy handle called\n[curl_easy_duphandle](https://curl.se/libcurl/c/curl_easy_duphandle.html).\n\nIf a transfer has cookies enabled when the handle is duplicated, the\ncookie-enable state is also cloned - but without cloning the actual\ncookies. If the source handle did not read any cookies from a specific file on\ndisk, the cloned version of the handle would instead store the file name as\n`none` (using the four ASCII letters, no quotes).\n\nSubsequent use of the cloned handle that does not explicitly set a source to\nload cookies from would then inadvertently load cookies from a file named\n`none` - if such a file exists and is readable in the current directory of the\nprogram using libcurl. And if using the correct file format of course.\n", "id": "GSD-2023-38546", "modified": "2023-12-13T01:20:35.456650Z", "schema_version": "1.4.0" } }, "namespaces": { "cve.org": { "CVE_data_meta": { "ASSIGNER": "support@hackerone.com", "ID": "CVE-2023-38546", "STATE": "PUBLIC" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "curl", "version": { "version_data": [ { "version_value": "not down converted", "x_cve_json_5_version_data": { "versions": [ { "lessThan": "8.4.0", "status": "affected", "version": "8.4.0", "versionType": "semver" }, { "lessThan": "7.9.1", "status": "unaffected", "version": "7.9.1", "versionType": "semver" } ] } } ] } } ] }, "vendor_name": "curl" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "This flaw allows an attacker to insert cookies at will into a running program\nusing libcurl, if the specific series of conditions are met.\n\nlibcurl performs transfers. In its API, an application creates \"easy handles\"\nthat are the individual handles for single transfers.\n\nlibcurl provides a function call that duplicates en easy handle called\n[curl_easy_duphandle](https://curl.se/libcurl/c/curl_easy_duphandle.html).\n\nIf a transfer has cookies enabled when the handle is duplicated, the\ncookie-enable state is also cloned - but without cloning the actual\ncookies. If the source handle did not read any cookies from a specific file on\ndisk, the cloned version of the handle would instead store the file name as\n`none` (using the four ASCII letters, no quotes).\n\nSubsequent use of the cloned handle that does not explicitly set a source to\nload cookies from would then inadvertently load cookies from a file named\n`none` - if such a file exists and is readable in the current directory of the\nprogram using libcurl. And if using the correct file format of course.\n" } ] }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "n/a" } ] } ] }, "references": { "reference_data": [ { "name": "https://curl.se/docs/CVE-2023-38546.html", "refsource": "MISC", "url": "https://curl.se/docs/CVE-2023-38546.html" }, { "name": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OGMXNRNSJ4ETDK6FRNU3J7SABXPWCHSQ/", "refsource": "MISC", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OGMXNRNSJ4ETDK6FRNU3J7SABXPWCHSQ/" }, { "name": "https://support.apple.com/kb/HT214036", "refsource": "MISC", "url": "https://support.apple.com/kb/HT214036" }, { "name": "https://support.apple.com/kb/HT214063", "refsource": "MISC", "url": "https://support.apple.com/kb/HT214063" }, { "name": "https://support.apple.com/kb/HT214057", "refsource": "MISC", "url": "https://support.apple.com/kb/HT214057" }, { "name": "https://support.apple.com/kb/HT214058", "refsource": "MISC", "url": "https://support.apple.com/kb/HT214058" }, { "name": "http://seclists.org/fulldisclosure/2024/Jan/34", "refsource": "MISC", "url": "http://seclists.org/fulldisclosure/2024/Jan/34" }, { "name": "http://seclists.org/fulldisclosure/2024/Jan/37", "refsource": "MISC", "url": "http://seclists.org/fulldisclosure/2024/Jan/37" }, { "name": "http://seclists.org/fulldisclosure/2024/Jan/38", "refsource": "MISC", "url": "http://seclists.org/fulldisclosure/2024/Jan/38" } ] } }, "nvd.nist.gov": { "cve": { "configurations": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:haxx:libcurl:*:*:*:*:*:*:*:*", "matchCriteriaId": "9058709C-7DD0-44D7-8224-535363E103A9", "versionEndExcluding": "8.4.0", "versionStartIncluding": "7.9.1", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "This flaw allows an attacker to insert cookies at will into a running program\nusing libcurl, if the specific series of conditions are met.\n\nlibcurl performs transfers. In its API, an application creates \"easy handles\"\nthat are the individual handles for single transfers.\n\nlibcurl provides a function call that duplicates en easy handle called\n[curl_easy_duphandle](https://curl.se/libcurl/c/curl_easy_duphandle.html).\n\nIf a transfer has cookies enabled when the handle is duplicated, the\ncookie-enable state is also cloned - but without cloning the actual\ncookies. If the source handle did not read any cookies from a specific file on\ndisk, the cloned version of the handle would instead store the file name as\n`none` (using the four ASCII letters, no quotes).\n\nSubsequent use of the cloned handle that does not explicitly set a source to\nload cookies from would then inadvertently load cookies from a file named\n`none` - if such a file exists and is readable in the current directory of the\nprogram using libcurl. And if using the correct file format of course.\n" }, { "lang": "es", "value": "Esta falla permite a un atacante insertar cookies a voluntad en un programa en ejecuci\u00f3n usando libcurl, si se cumple una serie espec\u00edfica de condiciones. libcurl realiza transferencias. En su API, una aplicaci\u00f3n crea \"easy handles\" que son identificadores individuales para transferencias individuales. libcurl proporciona una llamada de funci\u00f3n que duplica un identificador sencillo llamado [curl_easy_duphandle](https://curl.se/libcurl/c/curl_easy_duphandle.html). Si una transferencia tiene cookies habilitadas cuando el identificador est\u00e1 duplicado, el estado de habilitaci\u00f3n de cookies tambi\u00e9n se clona, pero sin clonar las cookies reales. Si el identificador de origen no ley\u00f3 ninguna cookie de un archivo espec\u00edfico en el disco, la versi\u00f3n clonada del identificador almacenar\u00eda el nombre del archivo como \"none\" (usando las cuatro letras ASCII, sin comillas). El uso posterior del identificador clonado que no establece expl\u00edcitamente una fuente desde la cual cargar cookies cargar\u00eda inadvertidamente cookies desde un archivo llamado \"none\", si dicho archivo existe y es legible en el directorio actual del programa usando libcurl. Y si utiliza el formato de archivo correcto, por supuesto." } ], "id": "CVE-2023-38546", "lastModified": "2024-01-26T17:15:09.640", "metrics": { "cvssMetricV31": [ { "cvssData": { "attackComplexity": "HIGH", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 3.7, "baseSeverity": "LOW", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "NONE", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N", "version": "3.1" }, "exploitabilityScore": 2.2, "impactScore": 1.4, "source": "nvd@nist.gov", "type": "Primary" } ] }, "published": "2023-10-18T04:15:11.137", "references": [ { "source": "support@hackerone.com", "url": "http://seclists.org/fulldisclosure/2024/Jan/34" }, { "source": "support@hackerone.com", "url": "http://seclists.org/fulldisclosure/2024/Jan/37" }, { "source": "support@hackerone.com", "url": "http://seclists.org/fulldisclosure/2024/Jan/38" }, { "source": "support@hackerone.com", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://curl.se/docs/CVE-2023-38546.html" }, { "source": "support@hackerone.com", "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/OGMXNRNSJ4ETDK6FRNU3J7SABXPWCHSQ/" }, { "source": "support@hackerone.com", "url": "https://support.apple.com/kb/HT214036" }, { "source": "support@hackerone.com", "url": "https://support.apple.com/kb/HT214057" }, { "source": "support@hackerone.com", "url": "https://support.apple.com/kb/HT214058" }, { "source": "support@hackerone.com", "url": "https://support.apple.com/kb/HT214063" } ], "sourceIdentifier": "support@hackerone.com", "vulnStatus": "Modified", "weaknesses": [ { "description": [ { "lang": "en", "value": "NVD-CWE-noinfo" } ], "source": "nvd@nist.gov", "type": "Primary" } ] } } } }
Loading...
Loading...
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.