ALAS2-2023-2287

Related Vulnerabilities: CVE-2023-38545   CVE-2023-38546  

An issue was found in curl that can cause a buffer overflow in its SOCKS5 proxy communications code. When curl is using a SOCKS5 proxy and it needs to resolve a hostname to an IP address, its default behavior is to pass the hostname to the proxy and allow it to perform the resolution. In cases where the hostname is greater than 255 characters in length, curl will instead attempt to perform the resolution locally and then pass the resolved IP to the proxy for its use. Due to an issue in the curl source code, the logic that determines whether curl should resolve the name locally or pass it to the proxy for resolution could make an incorrect decision when a slow SOCKS5 handshake occurs. If this occurs, curl may inadvertently copy an excessively long host name, rather than the resolved address, into the target buffer being prepared for transmission to the proxy, resulting in a buffer overflow. (CVE-2023-38545) An issue was found in libcurl which allows cookies to be inserted into a running program if specific conditions are met. The libcurl provided function, curl_easy_duphandle(), is used to duplicate the easy_handle associated with a transfer. If a duplicated transfer's easy_handle has cookies enabled when it is duplicated, the cookie-enabled state is cloned but the actual cookies are not. If the source easy_handle didn't read cookies from disk, the cloned easy_handle will attempt to read cookies from a file named 'none' in the local directory, potentially allowing arbitrary cookies to be loaded. (CVE-2023-38546)

ALAS2-2023-2287


Amazon Linux 2 Security Advisory: ALAS-2023-2287
Advisory Release Date: 2023-10-10 21:19 Pacific
Advisory Updated Date: 2023-10-11 19:16 Pacific
Severity: Important

Issue Overview:

An issue was found in curl that can cause a buffer overflow in its SOCKS5 proxy communications code.

When curl is using a SOCKS5 proxy and it needs to resolve a hostname to an IP address, its default behavior is to pass the hostname to the proxy and allow it to perform the resolution. In cases where the hostname is greater than 255 characters in length, curl will instead attempt to perform the resolution locally and then pass the resolved IP to the proxy for its use. Due to an issue in the curl source code, the logic that determines whether curl should resolve the name locally or pass it to the proxy for resolution could make an incorrect decision when a slow SOCKS5 handshake occurs. If this occurs, curl may inadvertently copy an excessively long host name, rather than the resolved address, into the target buffer being prepared for transmission to the proxy, resulting in a buffer overflow. (CVE-2023-38545)

An issue was found in libcurl which allows cookies to be inserted into a running program if specific conditions are met. The libcurl provided function, curl_easy_duphandle(), is used to duplicate the easy_handle associated with a transfer. If a duplicated transfer's easy_handle has cookies enabled when it is duplicated, the cookie-enabled state is cloned but the actual cookies are not. If the source easy_handle didn't read cookies from disk, the cloned easy_handle will attempt to read cookies from a file named 'none' in the local directory, potentially allowing arbitrary cookies to be loaded. (CVE-2023-38546)


Affected Packages:

curl


Issue Correction:
Run yum update curl to update your system.

New Packages:
aarch64:
    curl-8.3.0-1.amzn2.0.4.aarch64
    libcurl-8.3.0-1.amzn2.0.4.aarch64
    libcurl-devel-8.3.0-1.amzn2.0.4.aarch64
    curl-debuginfo-8.3.0-1.amzn2.0.4.aarch64

i686:
    curl-8.3.0-1.amzn2.0.4.i686
    libcurl-8.3.0-1.amzn2.0.4.i686
    libcurl-devel-8.3.0-1.amzn2.0.4.i686
    curl-debuginfo-8.3.0-1.amzn2.0.4.i686

src:
    curl-8.3.0-1.amzn2.0.4.src

x86_64:
    curl-8.3.0-1.amzn2.0.4.x86_64
    libcurl-8.3.0-1.amzn2.0.4.x86_64
    libcurl-devel-8.3.0-1.amzn2.0.4.x86_64
    curl-debuginfo-8.3.0-1.amzn2.0.4.x86_64