ALAS2-2023-2230

Related Vulnerabilities: CVE-2020-19909   CVE-2023-28319   CVE-2023-28321   CVE-2023-28322  

Integer overflow vulnerability in tool_operate.c in curl 7.65.2 via crafted value as the retry delay. (CVE-2020-19909) libcurl offers a feature to verify an SSH server's public key using a SHA 256 hash. When this check fails, libcurl would free the memory for the fingerprint before it returns an error message containing the (now freed) hash. This flaw risks inserting sensitive heap-based data into the error message that might be shown to users or otherwise get leaked and revealed. (CVE-2023-28319) curl supports matching of wildcard patterns when listed as "Subject Alternative Name" in TLS server certificates. curl can be built to use its own name matching function for TLS rather than one provided by a TLS library. This private wildcard matching function would match IDN (International Domain Name) hosts incorrectly and could as a result accept patterns that otherwise should mismatch. IDN hostnames are converted to puny code before used for certificate checks. Puny coded names always start with xn-- and should not be allowed to pattern match, but the wildcard check in curl could still check for x*, which would match even though the IDN name most likely contained nothing even resembling an x. (CVE-2023-28321) When doing HTTP(S) transfers, libcurl might erroneously use the read callback (CURLOPT_READFUNCTION) to ask for data to send, even when the CURLOPT_POSTFIELDS option has been set, if the same handle previously was used to issue a PUT request which used that callback. This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the second transfer. The problem exists in the logic for a reused handle when it is (expected to be) changed from a PUT to a POST. (CVE-2023-28322)

ALAS2-2023-2230


Amazon Linux 2 Security Advisory: ALAS-2023-2230
Advisory Release Date: 2023-08-31 22:29 Pacific
Advisory Updated Date: 2023-09-07 18:49 Pacific
Severity: Medium

Issue Overview:

Integer overflow vulnerability in tool_operate.c in curl 7.65.2 via crafted value as the retry delay. (CVE-2020-19909)

libcurl offers a feature to verify an SSH server's public key using a SHA 256 hash. When this check fails, libcurl would free the memory for the fingerprint before it returns an error message containing the (now freed) hash.

This flaw risks inserting sensitive heap-based data into the error message that might be shown to users or otherwise get leaked and revealed. (CVE-2023-28319)

curl supports matching of wildcard patterns when listed as "Subject Alternative Name" in TLS server certificates. curl can be built to use its own name matching function for TLS rather than one provided by a TLS library. This private wildcard matching function would match IDN (International Domain Name) hosts incorrectly and could as a result accept patterns that otherwise should mismatch.

IDN hostnames are converted to puny code before used for certificate checks. Puny coded names always start with xn-- and should not be allowed to pattern match, but the wildcard check in curl could still check for x*, which would match even though the IDN name most likely contained nothing even resembling an x. (CVE-2023-28321)

When doing HTTP(S) transfers, libcurl might erroneously use the read callback (CURLOPT_READFUNCTION) to ask for data to send, even when the CURLOPT_POSTFIELDS option has been set, if the same handle previously was used to issue a PUT request which used that callback.

This flaw may surprise the application and cause it to misbehave and either send off the wrong data or use memory after free or similar in the second transfer.

The problem exists in the logic for a reused handle when it is (expected to be) changed from a PUT to a POST. (CVE-2023-28322)


Affected Packages:

curl


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

New Packages:
aarch64:
    curl-8.2.1-1.amzn2.0.2.aarch64
    libcurl-8.2.1-1.amzn2.0.2.aarch64
    libcurl-devel-8.2.1-1.amzn2.0.2.aarch64
    curl-debuginfo-8.2.1-1.amzn2.0.2.aarch64

i686:
    curl-8.2.1-1.amzn2.0.2.i686
    libcurl-8.2.1-1.amzn2.0.2.i686
    libcurl-devel-8.2.1-1.amzn2.0.2.i686
    curl-debuginfo-8.2.1-1.amzn2.0.2.i686

src:
    curl-8.2.1-1.amzn2.0.2.src

x86_64:
    curl-8.2.1-1.amzn2.0.2.x86_64
    libcurl-8.2.1-1.amzn2.0.2.x86_64
    libcurl-devel-8.2.1-1.amzn2.0.2.x86_64
    curl-debuginfo-8.2.1-1.amzn2.0.2.x86_64