<?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-0246</id>
    <title>An update for golang is now available for HCE 2.0</title>
    <severity>Critical</severity>
    <release>HCE 2.0</release>
    <issued date="2023-08-29 13:10:18"/>
    <updated date="2023-08-29 13:10:18"/>
    <references>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2023-29405" id="CVE-2023-29405" title="CVE-2023-29405 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-2023-29406" id="CVE-2023-29406" title="CVE-2023-29406 Base Score: 6.5 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2023-29402" id="CVE-2023-29402" title="CVE-2023-29402 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-2023-29403" id="CVE-2023-29403" title="CVE-2023-29403 Base Score: 7.8 Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2023-29404" id="CVE-2023-29404" title="CVE-2023-29404 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"/>
    </references>
    <description>Security Fix(es):

The go command may execute arbitrary code at build time when using cgo. This may occur when running &quot;go get&quot; on a malicious module, or when running any other command which builds untrusted code. This is can by triggered by linker flags, specified via a &quot;#cgo LDFLAGS&quot; directive. Flags containing embedded spaces are mishandled, allowing disallowed flags to be smuggled through the LDFLAGS sanitization by including them in the argument of another flag. This only affects usage of the gccgo compiler. (CVE-2023-29405)

The HTTP/1 client does not fully validate the contents of the Host header. A maliciously crafted Host header can inject additional headers or entire requests. With fix, the HTTP/1 client now refuses to send requests containing an invalid Request.Host or Request.URL.Host value. (CVE-2023-29406)

The go command may generate unexpected code at build time when using cgo. This may result in unexpected behavior when running a go program which uses cgo. This may occur when running an untrusted module which contains directories with newline characters in their names. Modules which are retrieved using the go command, i.e. via &quot;go get&quot;, are not affected (modules retrieved using GOPATH-mode, i.e. GO111MODULE=off, may be affected). (CVE-2023-29402)

On Unix platforms, the Go runtime does not behave differently when a binary is run with the setuid/setgid bits. This can be dangerous in certain cases, such as when dumping memory state, or assuming the status of standard i/o file descriptors. If a setuid/setgid binary is executed with standard I/O file descriptors closed, opening any files can result in unexpected content being read or written with elevated privileges. Similarly, if a setuid/setgid program is terminated, either via panic or signal, it may leak the contents of its registers. (CVE-2023-29403)

The go command may execute arbitrary code at build time when using cgo. This may occur when running &quot;go get&quot; on a malicious module, or when running any other command which builds untrusted code. This is can by triggered by linker flags, specified via a &quot;#cgo LDFLAGS&quot; directive. The arguments for a number of flags which are non-optional are incorrectly considered optional, allowing disallowed flags to be smuggled through the LDFLAGS sanitization. This affects usage of both the gc and gccgo compilers. (CVE-2023-29404)
</description>
    <pkglist>
      <collection short="HCE 2.0" package="golang">
        <name>HCE 2.0</name>
        <package arch="aarch64" name="golang" version="1.17.3" release="1.r22.hce2">
          <filename>golang-1.17.3-1.r22.hce2.aarch64.rpm</filename>
        </package>
        <package arch="noarch" name="golang-devel" version="1.17.3" release="1.r22.hce2">
          <filename>golang-devel-1.17.3-1.r22.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="golang-help" version="1.17.3" release="1.r22.hce2">
          <filename>golang-help-1.17.3-1.r22.hce2.noarch.rpm</filename>
        </package>
        <package arch="x86_64" name="golang" version="1.17.3" release="1.r22.hce2">
          <filename>golang-1.17.3-1.r22.hce2.x86_64.rpm</filename>
        </package>
      </collection>
    </pkglist>
  </update>
