<?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-2026-0246</id>
    <title>An update for ruby is now available for HCE 2.0</title>
    <severity>Critical</severity>
    <release>HCE 2.0</release>
    <issued date="2026-07-21 03:03:49"/>
    <updated date="2026-07-21 03:03:49"/>
    <references>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2026-42257" id="CVE-2026-42257" title="CVE-2026-42257 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-2026-42258" id="CVE-2026-42258" title="CVE-2026-42258 Base Score: 5.3 Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2026-42246" id="CVE-2026-42246" title="CVE-2026-42246 Base Score: 7.4 Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2026-42245" id="CVE-2026-42245" title="CVE-2026-42245 Base Score: 7.5 Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" type="cve"/>
      <reference href="https://nvd.nist.gov/vuln/detail/CVE-2026-41316" id="CVE-2026-41316" title="CVE-2026-41316 Base Score: 8.1 Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H" type="cve"/>
    </references>
    <description>Security Fix(es):

Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Prior to versions 0.4.24, 0.5.14, and 0.6.4, several Net::IMAP commands accept a raw string argument that is sent to the server without validation or escaping. If this string is derived from user-controlled input, it may contain contain CRLF sequences, which an attacker can use to inject arbitrary IMAP commands. This issue has been patched in versions 0.4.24, 0.5.14, and 0.6.4. (CVE-2026-42257)

Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Prior to versions 0.4.24, 0.5.14, and 0.6.4, symbol arguments to commands are vulnerable to a CRLF Injection / IMAP Command injection via Symbol arguments passed to IMAP commands. This issue has been patched in versions 0.4.24, 0.5.14, and 0.6.4. (CVE-2026-42258)

Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Prior to versions 0.3.10, 0.4.24, 0.5.14, and 0.6.4, a man-in-the-middle attacker can cause Net::IMAP#starttls to return &quot;successfully&quot;, without starting TLS. This issue has been patched in versions 0.3.10, 0.4.24, 0.5.14, and 0.6.4. (CVE-2026-42246)

Net::IMAP implements Internet Message Access Protocol (IMAP) client functionality in Ruby. Prior to versions 0.4.24, 0.5.14, and 0.6.4, Net::IMAP::ResponseReader has quadratic time complexity when reading large responses containing many string literals. A hostile server can send responses which are crafted to exhaust the client_x27;s CPU for a denial of service attack. This issue has been patched in versions 0.4.24, 0.5.14, and 0.6.4. (CVE-2026-42245)

ERB is a templating system for Ruby. Ruby 2.7.0 (before ERB 2.2.0 was published on rubygems.org) introduced an `@_init` instance variable guard in `ERB#result` and `ERB#run` to prevent code execution when an ERB object is reconstructed via `Marshal.load` (deserialization). However, three other public methods that also evaluate `@src` via `_` were not given the same guard: `ERB#def_method`, `ERB#def_module`, and `ERB#def_class`. An attacker who can trigger `Marshal.load` on untrusted data in a Ruby application that has `erb` loaded can use `ERB#def_module` (zero-arg, default parameters) as a code execution sink, bypassing the `@_init` protection entirely. ERB 4.0.3.1, 4.0.4.1, 6.0.1.1, and 6.0.4 patch the issue. (CVE-2026-41316)
</description>
    <pkglist>
      <collection short="HCE 2.0" package="ruby">
        <name>HCE 2.0</name>
        <package arch="noarch" name="rubygems" version="3.2.32" release="122.r20.hce2">
          <filename>rubygems-3.2.32-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="rubygems-devel" version="3.2.32" release="122.r20.hce2">
          <filename>rubygems-devel-3.2.32-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="x86_64" name="rubygem-bigdecimal" version="3.0.0" release="122.r20.hce2">
          <filename>rubygem-bigdecimal-3.0.0-122.r20.hce2.x86_64.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-did_you_mean" version="1.5.0" release="122.r20.hce2">
          <filename>rubygem-did_you_mean-1.5.0-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="x86_64" name="rubygem-io-console" version="0.5.7" release="122.r20.hce2">
          <filename>rubygem-io-console-0.5.7-122.r20.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="rubygem-json" version="2.5.1" release="122.r20.hce2">
          <filename>rubygem-json-2.5.1-122.r20.hce2.x86_64.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-minitest" version="5.14.2" release="122.r20.hce2">
          <filename>rubygem-minitest-5.14.2-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="x86_64" name="rubygem-openssl" version="2.2.1" release="122.r20.hce2">
          <filename>rubygem-openssl-2.2.1-122.r20.hce2.x86_64.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-power_assert" version="1.2.0" release="122.r20.hce2">
          <filename>rubygem-power_assert-1.2.0-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="x86_64" name="rubygem-psych" version="3.3.2" release="122.r20.hce2">
          <filename>rubygem-psych-3.3.2-122.r20.hce2.x86_64.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-rake" version="13.0.3" release="122.r20.hce2">
          <filename>rubygem-rake-13.0.3-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-rbs" version="1.4.0" release="122.r20.hce2">
          <filename>rubygem-rbs-1.4.0-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-rdoc" version="6.3.3" release="122.r20.hce2">
          <filename>rubygem-rdoc-6.3.3-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-rexml" version="3.2.5" release="122.r20.hce2">
          <filename>rubygem-rexml-3.2.5-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-rss" version="0.2.9" release="122.r20.hce2">
          <filename>rubygem-rss-0.2.9-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-test-unit" version="3.3.7" release="122.r20.hce2">
          <filename>rubygem-test-unit-3.3.7-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="rubygem-typeprof" version="0.15.2" release="122.r20.hce2">
          <filename>rubygem-typeprof-0.15.2-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="x86_64" name="ruby" version="3.0.3" release="122.r20.hce2">
          <filename>ruby-3.0.3-122.r20.hce2.x86_64.rpm</filename>
        </package>
        <package arch="x86_64" name="ruby-devel" version="3.0.3" release="122.r20.hce2">
          <filename>ruby-devel-3.0.3-122.r20.hce2.x86_64.rpm</filename>
        </package>
        <package arch="noarch" name="ruby-help" version="3.0.3" release="122.r20.hce2">
          <filename>ruby-help-3.0.3-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="noarch" name="ruby-irb" version="3.0.3" release="122.r20.hce2">
          <filename>ruby-irb-3.0.3-122.r20.hce2.noarch.rpm</filename>
        </package>
        <package arch="aarch64" name="rubygem-bigdecimal" version="3.0.0" release="122.r20.hce2">
          <filename>rubygem-bigdecimal-3.0.0-122.r20.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="rubygem-io-console" version="0.5.7" release="122.r20.hce2">
          <filename>rubygem-io-console-0.5.7-122.r20.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="rubygem-json" version="2.5.1" release="122.r20.hce2">
          <filename>rubygem-json-2.5.1-122.r20.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="rubygem-openssl" version="2.2.1" release="122.r20.hce2">
          <filename>rubygem-openssl-2.2.1-122.r20.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="rubygem-psych" version="3.3.2" release="122.r20.hce2">
          <filename>rubygem-psych-3.3.2-122.r20.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="ruby" version="3.0.3" release="122.r20.hce2">
          <filename>ruby-3.0.3-122.r20.hce2.aarch64.rpm</filename>
        </package>
        <package arch="aarch64" name="ruby-devel" version="3.0.3" release="122.r20.hce2">
          <filename>ruby-devel-3.0.3-122.r20.hce2.aarch64.rpm</filename>
        </package>
      </collection>
    </pkglist>
  </update>
