<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="sa-render.xsl"?>
  <update from="huaweicloud.com" type="security" status="stable" version="1">
    <id>HCE2-SA-2023-0069</id>
    <title>An update for curl is now available for HCE 2.0</title>
    <severity>Critical</severity>
    <release>HCE 2.0</release>
    <issued date="2023-01-05 20:19:38"/>
    <updated date="2023-01-05 20:19:38"/>
    <references>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-42915" id="CVE-2022-42915" title="CVE-2022-42915 Base Score: 9.8 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-43551" id="CVE-2022-43551" title="CVE-2022-43551 Base Score: 6.5 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-35252" id="CVE-2022-35252" title="CVE-2022-35252 Base Score: 3.7 Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-42916" id="CVE-2022-42916" title="CVE-2022-42916 Base Score: 7.5 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-32221" id="CVE-2022-32221" title="CVE-2022-32221 Base Score: 4.8 Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2022-43552" id="CVE-2022-43552" title="CVE-2022-43552 Base Score: 5.6 Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:L" type="cve"/>
    </references>
    <description>Security Fix(es):

curl before 7.86.0 has a double free. If curl is told to use an HTTP proxy for a transfer with a non-HTTP(S) URL, it sets up the connection to the remote server by issuing a CONNECT request to the proxy, and then tunnels the rest of the protocol through. An HTTP proxy might refuse this request (HTTP proxies often only allow outgoing connections to specific port numbers, like 443 for HTTPS) and instead return a non-200 status code to the client. Due to flaws in the error/cleanup handling, this could trigger a double free in curl if one of the following schemes were used in the URL for the transfer: dict, gopher, gophers, ldap, ldaps, rtmp, rtmps, or telnet. The earliest affected version is 7.77.0. (CVE-2022-42915)

A vulnerability exists in curl &lt;7.87.0 HSTS check that could be bypassed to trick it to keep using HTTP. Using its HSTS support, curl can be instructed to use HTTPS instead of using an insecure clear-text HTTP step even when HTTP is provided in the URL. However, the HSTS mechanism could be bypassed if the host name in the given URL first uses IDN characters that get replaced to ASCII counterparts as part of the IDN conversion. Like using the character UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) instead of the common ASCII full stop (U+002E) `.`. Then in a subsequent request, it does not detect the HSTS state and makes a clear text transfer. Because it would store the info IDN encoded but look for it IDN decoded. (CVE-2022-43551)

When curl is used to retrieve and parse cookies from a HTTP(S) server, itaccepts cookies using control codes that when later are sent back to a HTTPserver might make the server return 400 responses. Effectively allowing a&quot;sister site&quot; to deny service to all siblings. (CVE-2022-35252)

In curl before 7.86.0, the HSTS check could be bypassed to trick it into staying with HTTP. Using its HSTS support, curl can be instructed to use HTTPS directly (instead of using an insecure cleartext HTTP step) even when HTTP is provided in the URL. This mechanism could be bypassed if the host name in the given URL uses IDN characters that get replaced with ASCII counterparts as part of the IDN conversion, e.g., using the character UTF-8 U+3002 (IDEOGRAPHIC FULL STOP) instead of the common ASCII full stop of U+002E (.). The earliest affected version is 7.77.0 2021-05-26. (CVE-2022-42916)

A vulnerability was found in curl. The issue occurs when doing HTTP(S) transfers, where curl might erroneously use the read callback (CURLOPT_READFUNCTION) to ask for data to send, even when the CURLOPT_POSTFIELDS option has been set if it previously used the same handle 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 subsequent POST request. (CVE-2022-32221)

** RESERVED ** This candidate has been reserved by an organization or individual that will use it when announcing a new security problem. When the candidate has been publicized, the details for this candidate will be provided. Upstream Security Advisories: https://curl.se/docs/CVE-2022-43552.html https://curl.se/docs/CVE-2022-43552.html (CVE-2022-43552)
</description>
    <pkglist>
      <collection short="HCE 2.0" package="curl">
        <name>HCE 2.0</name>
        <package arch="aarch64" name="curl" version="7.79.1" release="2.r9.hce2">
          <filename>curl-7.79.1-2.r9.hce2.aarch64.rpm</filename>
        </package>
        <package arch="noarch" name="curl-help" version="7.79.1" release="2.r9.hce2">
          <filename>curl-help-7.79.1-2.r9.hce2.noarch.rpm</filename>
        </package>
        <package arch="aarch64" name="libcurl" version="7.79.1" release="2.r9.hce2">
          <filename>libcurl-7.79.1-2.r9.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="libcurl-devel" version="7.79.1" release="2.r9.hce2">
          <filename>libcurl-devel-7.79.1-2.r9.hce2.aarch64.rpm</filename>
        </package>
        <package arch="x86_64" name="curl" version="7.79.1" release="2.r9.hce2">
          <filename>curl-7.79.1-2.r9.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="libcurl" version="7.79.1" release="2.r9.hce2">
          <filename>libcurl-7.79.1-2.r9.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="libcurl-devel" version="7.79.1" release="2.r9.hce2">
          <filename>libcurl-devel-7.79.1-2.r9.hce2.x86_64.rpm</filename>
        </package>
      </collection>
    </pkglist>
  </update>
