CVE Catalog

CVE-2023-38546

LowCVSS 3.7
Published: Updated: Translated: NVD NIST

Summary

A flaw in libcurl allows an attacker to insert cookies at will into a running program if specific conditions are met. When an easy handle with cookies enabled is duplicated via curl_easy_duphandle and the source handle did not read cookies from a file, the cloned handle stores the filename as "none", potentially causing inadvertent loading of cookies from a file named "none" in the current directory.

Risk Assessment

An attacker can inject malicious cookies into an application using libcurl, potentially leading to session hijacking or privilege escalation.

Recommendation

Update libcurl to a version containing the fix (8.4.0 or later) and avoid duplicating handles with cookies enabled without explicitly setting a source.

Other vulnerabilities in libcurl

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS