curl / Mailing Lists / curl-users / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

curl: fopen race condition: CVE-2023-32001

From: Daniel Stenberg via curl-users <curl-users_at_lists.haxx.se>
Date: Wed, 19 Jul 2023 08:30:54 +0200 (CEST)

fopen race condition
====================

Project curl Security Advisory, July 19 2023 -
[Permalink](https://curl.se/docs/CVE-2023-32001.html)

VULNERABILITY
-------------

libcurl can be told to save cookie, HSTS and/or alt-svc data to files. When
doing this, it called `stat()` followed by `fopen()` in a way that made it
vulnerable to a TOCTOU race condition problem.

By exploiting this flaw, an attacker could trick the victim to create or
overwrite protected files holding this data in ways it was not intended to.

INFO
----
The attacker needs permissions and rights enough to be able to create or
rename directory entries in the directory the victim saves their files.
This race condition modifies the behavior of symbolic link files in affected
components, they might be followed instead of being overwritten when the
condition is met leading to undesired and potentially destructive behavior.
The Common Vulnerabilities and Exposures (CVE) project has assigned the name
CVE-2023-32001 to this issue.
CWE-367: Time-of-check Time-of-use (TOCTOU) Race Condition
Severity: Medium
AFFECTED VERSIONS
-----------------
- Affected versions: libcurl 7.84.0 to and including 8.1.2
- Not affected versions: libcurl < 7.84.0 and >= 8.2.0
- Introduced-in: https://github.com/curl/curl/commit/20f9dd6bae50b722
libcurl is used by many applications, but not always advertised as such!
SOLUTION
------------
- Fixed-in: https://github.com/curl/curl/commit/0c667188e0c6cda615a0
RECOMMENDATIONS
--------------
  A - Upgrade curl to version 8.2.0
  B - Apply the patch to your local version
  C - Do not save cookie, HSTS or alt-svc data
TIMELINE
--------
This issue was reported to the curl project on June 27, 2023. We contacted
distros_at_openwall on July 12, 2023.
libcurl 8.2.0 was released on July 2023, coordinated with the publication of
this advisory.
CREDITS
-------
- Reported-by: selmelc on hackerone
- Patched-by: selmelc on hackerone
Thanks a lot!
-- 
  / daniel.haxx.se
  | Commercial curl support up to 24x7 is available!
  | Private help, bug fixes, support, ports, new features
  | https://curl.se/support.html
-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-users
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2023-07-19