Opened 16 months ago
Closed 16 months ago
#18702 closed enhancement (fixed)
curl-8.4.0
Reported by: | Xi Ruoyao | Owned by: | Douglas R. Reno |
---|---|---|---|
Priority: | elevated | Milestone: | 12.1 |
Component: | BOOK | Version: | git |
Severity: | normal | Keywords: | |
Cc: |
Description
New minor version with two security fixes.
Change History (5)
comment:1 by , 16 months ago
comment:2 by , 16 months ago
CVE-2023-38545: SOCKS5 heap buffer overflow (high)
This flaw makes curl overflow a heap based buffer in the SOCKS5 proxy handshake.
When curl is asked to pass along the hostname to the SOCKS5 proxy to allow that to resolve the address instead of it getting done by curl itself, the maximum length that hostname can be is 255 bytes.
If the hostname is detected to be longer than 255 bytes, curl switches to local name resolving and instead passes on the resolved address only to the proxy. Due to a bug, the local variable that means "let the host resolve the name" could get the wrong value during a slow SOCKS5 handshake, and contrary to the intention, copy the too long hostname to the target buffer instead of copying just the resolved address there.
comment:3 by , 16 months ago
CVE-2023-38546: cookie injection with none file (low)
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 an easy handle called curl_easy_duphandle.
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.
comment:4 by , 16 months ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:5 by , 16 months ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed at 4f59c449a8c10249df86525a28af00baf39a578c
SA-12.0-024 issued
Fixed in 8.4.0 - October 11 2023
Changes:
Bugfixes: