[Debian] High CVE: CVE-2023-27533/CVE-2023-27534/CVE-2023-27535/CVE-2023-27536/CVE-2023-27538/CVE-2023-28321/CVE-2023-28322 curl: multiple CVEs

Bug #2038877 reported by Yue Tao
256
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
High
hqbai

Bug Description

CVE-2023-38545: https://nvd.nist.gov/vuln/detail/CVE-2023-38545

CVE-2023-38546: https://nvd.nist.gov/vuln/detail/CVE-2023-38546

CVE-2023-27533: https://nvd.nist.gov/vuln/detail/CVE-2023-27533

A vulnerability in input validation exists in curl <8.0 during communication using the TELNET protocol may allow an attacker to pass on maliciously crafted user name and "telnet options" during server negotiation. The lack of proper input scrubbing allows an attacker to send content or perform option negotiation without the application's intent. This vulnerability could be exploited if an application allows user input, thereby enabling attackers to execute arbitrary code on the system.

CVE-2023-27534: https://nvd.nist.gov/vuln/detail/CVE-2023-27534

A path traversal vulnerability exists in curl <8.0.0 SFTP implementation causes the tilde (~) character to be wrongly replaced when used as a prefix in the first path element, in addition to its intended use as the first element to indicate a path relative to the user's home directory. Attackers can exploit this flaw to bypass filtering or execute arbitrary code by crafting a path like /~2/foo while accessing a server with a specific user.

CVE-2023-27535: https://nvd.nist.gov/vuln/detail/CVE-2023-27535

An authentication bypass vulnerability exists in libcurl <8.0.0 in the FTP connection reuse feature that can result in wrong credentials being used during subsequent transfers. Previously created connections are kept in a connection pool for reuse if they match the current setup. However, certain FTP settings such as CURLOPT_FTP_ACCOUNT, CURLOPT_FTP_ALTERNATIVE_TO_USER, CURLOPT_FTP_SSL_CCC, and CURLOPT_USE_SSL were not included in the configuration match checks, causing them to match too easily. This could lead to libcurl using the wrong credentials when performing a transfer, potentially allowing unauthorized access to sensitive information.

CVE-2023-27536: https://nvd.nist.gov/vuln/detail/CVE-2023-27536

An authentication bypass vulnerability exists libcurl <8.0.0 in the connection reuse feature which can reuse previously established connections with incorrect user permissions due to a failure to check for changes in the CURLOPT_GSSAPI_DELEGATION option. This vulnerability affects krb5/kerberos/negotiate/GSSAPI transfers and could potentially result in unauthorized access to sensitive information. The safest option is to not reuse connections if the CURLOPT_GSSAPI_DELEGATION option has been changed.

CVE-2023-27538: https://nvd.nist.gov/vuln/detail/CVE-2023-27538

An authentication bypass vulnerability exists in libcurl prior to v8.0.0 where it reuses a previously established SSH connection despite the fact that an SSH option was modified, which should have prevented reuse. libcurl maintains a pool of previously used connections to reuse them for subsequent transfers if the configurations match. However, two SSH settings were omitted from the configuration check, allowing them to match easily, potentially leading to the reuse of an inappropriate connection.

CVE-2023-28321: https://nvd.nist.gov/vuln/detail/CVE-2023-28321

An improper certificate validation vulnerability exists in curl <v8.1.0 in the way it 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-28322: https://nvd.nist.gov/vuln/detail/CVE-2023-28322

An information disclosure vulnerability exists in curl <v8.1.0 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 wasused 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.

Base Score: High

Reference:

['curl_7.74.0-1.3+deb11u7_amd64.deb===>curl_7.74.0-1.3+deb11u9_amd64.deb', 'libcurl3-gnutls_7.74.0-1.3+deb11u7_amd64.deb===>libcurl3-gnutls_7.74.0-1.3+deb11u9_amd64.deb', 'libcurl4_7.74.0-1.3+deb11u7_amd64.deb===>libcurl4_7.74.0-1.3+deb11u9_amd64.deb', 'libcurl4-gnutls-dev_7.74.0-1.3+deb11u7_amd64.deb===>libcurl4-gnutls-dev_7.74.0-1.3+deb11u9_amd64.deb', 'libcurl4-openssl-dev_7.74.0-1.3+deb11u7_amd64.deb===>libcurl4-openssl-dev_7.74.0-1.3+deb11u9_amd64.deb']

Yue Tao (wrytao)
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tools (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/starlingx/tools/+/899018

Changed in starlingx:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tools (master)

Reviewed: https://review.opendev.org/c/starlingx/tools/+/899018
Committed: https://opendev.org/starlingx/tools/commit/c2dd13f9b6274e0f5675f244098cb97d749b85a7
Submitter: "Zuul (22348)"
Branch: master

commit c2dd13f9b6274e0f5675f244098cb97d749b85a7
Author: Haiqing Bai <email address hidden>
Date: Sun Oct 22 22:58:27 2023 -0700

    Debian: curl: fix 7 CVEs

    Upgraded:
    curl to curl_7.74.0-1.3+deb11u10_amd64.deb
    libcurl3-gnutls to libcurl3-gnutls_7.74.0-1.3+deb11u10_amd64.deb
    libcurl4 to libcurl4_7.74.0-1.3+deb11u10_amd64.deb
    libcurl4-gnutls-dev to libcurl4-gnutls-dev_7.74.0-1.3+deb11u10_amd64.deb
    libcurl4-openssl-dev to libcurl4-openssl-dev_7.74.0-1.3+deb11u10_amd64.deb

    fix CVEs:
    CVE-2023-27533
    CVE-2023-27534
    CVE-2023-27535
    CVE-2023-27536
    CVE-2023-27538
    CVE-2023-28321
    CVE-2023-28322

    Refer to:
    https://security-tracker.debian.org/tracker/CVE-2023-27533
    https://security-tracker.debian.org/tracker/CVE-2023-27534
    https://security-tracker.debian.org/tracker/CVE-2023-27535
    https://security-tracker.debian.org/tracker/CVE-2023-27536
    https://security-tracker.debian.org/tracker/CVE-2023-27538
    https://security-tracker.debian.org/tracker/CVE-2023-28322

    Test Plan:
    Pass: downloader
    Pass: build-pkgs --clean --all
    Pass: build-image
    Pass: boot

    Closes-bug: #2038877

    Change-Id: I75adbb74928f05500a4449f4563ccdffbb012f1e
    Signed-off-by: Haiqing Bai <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
Changed in starlingx:
assignee: nobody → hqbai (hbai)
To post a comment you must log in.
This report contains Public Security information  
Everyone can see this security related information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.