CVE Vulnerabilities

CVE-2024-1394

Missing Release of Memory after Effective Lifetime

Published: Mar 21, 2024 | Modified: Sep 26, 2024
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
7.5 IMPORTANT
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu

A memory leak flaw was found in Golang in the RSA encrypting/decrypting code, which might lead to a resource exhaustion vulnerability using attacker-controlled inputs​. The memory leak happens in github.com/golang-fips/openssl/openssl/rsa.go#L113. The objects leaked are pkey​ and ctx​. That function uses named return parameters to free pkey​ and ctx​ if there is an error initializing the context or setting the different properties. All return statements related to error cases follow the return nil, nil, fail(…) pattern, meaning that pkey​ and ctx​ will be nil inside the deferred function that should free them.

Weakness

The product does not sufficiently track and release allocated memory after it has been used, which slowly consumes remaining memory.

Affected Software

Name Vendor Start Version End Version
Red Hat Ansible Automation Platform 2.4 for RHEL 8 RedHat receptor-0:1.4.5-1.el8ap *
Red Hat Ansible Automation Platform 2.4 for RHEL 9 RedHat receptor-0:1.4.5-1.el9ap *
Red Hat Developer Tools RedHat go-toolset-1.19-golang-0:1.19.13-6.el7_9 *
Red Hat Enterprise Linux 8 RedHat go-toolset:rhel8-8090020240313170136.26eb71ac *
Red Hat Enterprise Linux 8 RedHat grafana-pcp-0:5.1.1-2.el8_9 *
Red Hat Enterprise Linux 8 RedHat grafana-0:9.2.10-8.el8_9 *
Red Hat Enterprise Linux 8 RedHat grafana-0:9.2.10-16.el8_10 *
Red Hat Enterprise Linux 8 RedHat container-tools:rhel8-8100020240808093819.afee755d *
Red Hat Enterprise Linux 8 RedHat osbuild-composer-0:101-2.el8_10 *
Red Hat Enterprise Linux 9 RedHat golang-0:1.20.12-2.el9_3 *
Red Hat Enterprise Linux 9 RedHat grafana-0:9.2.10-8.el9_3 *
Red Hat Enterprise Linux 9 RedHat grafana-pcp-0:5.1.1-2.el9_3 *
Red Hat Enterprise Linux 9 RedHat golang-0:1.21.9-2.el9_4 *
Red Hat Enterprise Linux 9 RedHat grafana-0:9.2.10-16.el9_4 *
Red Hat Enterprise Linux 9 RedHat grafana-pcp-0:5.1.1-2.el9_4 *
Red Hat Enterprise Linux 9 RedHat buildah-2:1.33.7-3.el9_4 *
Red Hat Enterprise Linux 9 RedHat podman-4:4.9.4-5.el9_4 *
Red Hat Enterprise Linux 9 RedHat gvisor-tap-vsock-6:0.7.3-4.el9_4 *
Red Hat Enterprise Linux 9 RedHat skopeo-2:1.14.3-3.el9_4 *
Red Hat Enterprise Linux 9 RedHat containernetworking-plugins-1:1.4.0-4.el9_4 *
Red Hat Enterprise Linux 9 RedHat runc-4:1.1.12-3.el9_4 *
Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions RedHat podman-2:4.2.0-4.el9_0 *
Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions RedHat containernetworking-plugins-1:1.0.1-6.el9_0 *
Red Hat Enterprise Linux 9.2 Extended Update Support RedHat golang-0:1.19.13-7.el9_2 *
Red Hat Enterprise Linux 9.2 Extended Update Support RedHat podman-2:4.4.1-20.el9_2 *
Red Hat OpenShift Container Platform 4.12 RedHat buildah-1:1.23.4-5.2.rhaos4.12.el8 *
Red Hat OpenShift Container Platform 4.12 RedHat butane-0:0.16.0-2.2.rhaos4.12.el8 *
Red Hat OpenShift Container Platform 4.12 RedHat containernetworking-plugins-1:1.4.0-1.1.rhaos4.12.el8 *
Red Hat OpenShift Container Platform 4.12 RedHat cri-o-0:1.25.5-13.1.rhaos4.12.git76343da.el8 *
Red Hat OpenShift Container Platform 4.12 RedHat cri-tools-0:1.25.0-2.2.el9 *
Red Hat OpenShift Container Platform 4.12 RedHat ignition-0:2.14.0-5.2.rhaos4.12.el9 *
Red Hat OpenShift Container Platform 4.12 RedHat openshift-clients-0:4.12.0-202403251017.p0.gd4c9e3c.assembly.stream.el9 *
Red Hat OpenShift Container Platform 4.12 RedHat podman-3:4.4.1-2.1.rhaos4.12.el8 *
Red Hat OpenShift Container Platform 4.12 RedHat runc-3:1.1.6-5.2.rhaos4.12.el8 *
Red Hat OpenShift Container Platform 4.12 RedHat skopeo-2:1.9.4-3.2.rhaos4.12.el9 *
Red Hat OpenShift Container Platform 4.13 RedHat buildah-1:1.29.1-2.2.rhaos4.13.el8 *
Red Hat OpenShift Container Platform 4.13 RedHat containernetworking-plugins-1:1.4.0-1.1.rhaos4.13.el8 *
Red Hat OpenShift Container Platform 4.13 RedHat cri-o-0:1.26.5-11.1.rhaos4.13.git919cc6e.el9 *
Red Hat OpenShift Container Platform 4.13 RedHat cri-tools-0:1.26.0-4.1.el8 *
Red Hat OpenShift Container Platform 4.13 RedHat ignition-0:2.15.0-7.1.rhaos4.13.el9 *
Red Hat OpenShift Container Platform 4.13 RedHat openshift-clients-0:4.13.0-202404020737.p0.gd192e90.assembly.stream.el9 *
Red Hat OpenShift Container Platform 4.13 RedHat podman-3:4.4.1-6.2.rhaos4.13.el9 *
Red Hat OpenShift Container Platform 4.13 RedHat runc-4:1.1.12-1.1.rhaos4.13.el8 *
Red Hat OpenShift Container Platform 4.13 RedHat skopeo-2:1.11.2-2.2.rhaos4.13.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat butane-0:0.19.0-1.3.rhaos4.14.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat containernetworking-plugins-1:1.4.0-1.2.rhaos4.14.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat cri-o-0:1.27.4-6.1.rhaos4.14.gitd09e4c0.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat cri-tools-0:1.27.0-3.1.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat ignition-0:2.16.2-2.1.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat openshift-clients-0:4.14.0-202403261640.p0.gf7b14a9.assembly.stream.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat ose-aws-ecr-image-credential-provider-0:4.14.0-202403251040.p0.g607e2dd.assembly.stream.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat podman-3:4.4.1-11.3.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat skopeo-2:1.11.2-10.3.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat buildah-1:1.29.1-10.4.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat butane-0:0.19.0-1.4.rhaos4.14.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat conmon-3:2.1.7-3.4.rhaos4.14.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat containernetworking-plugins-1:1.4.0-1.3.rhaos4.14.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat cri-o-0:1.27.4-7.2.rhaos4.14.git082c52f.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat cri-tools-0:1.27.0-3.2.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat ignition-0:2.16.2-2.2.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat openshift-0:4.14.0-202404160939.p0.g7bee54d.assembly.stream.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat openshift4-aws-iso-0:4.14.0-202404151639.p0.gd2acdd5.assembly.stream.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat openshift-ansible-0:4.14.0-202404151639.p0.g81558cc.assembly.stream.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat openshift-clients-0:4.14.0-202404151639.p0.gf7b14a9.assembly.stream.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat openshift-kuryr-0:4.14.0-202404151639.p0.g8926a29.assembly.stream.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat ose-aws-ecr-image-credential-provider-0:4.14.0-202404151639.p0.g607e2dd.assembly.stream.el8 *
Red Hat OpenShift Container Platform 4.14 RedHat podman-3:4.4.1-11.4.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat runc-4:1.1.12-1.2.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat skopeo-2:1.11.2-10.4.rhaos4.14.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat microshift-0:4.14.19-202403280926.p0.gc1f8861.assembly.4.14.19.el9 *
Red Hat OpenShift Container Platform 4.14 RedHat rhcos-414.92.202407300859-0 *
Red Hat OpenShift Container Platform 4.15 RedHat buildah-1:1.29.1-20.3.rhaos4.15.el9 *
Red Hat OpenShift Container Platform 4.15 RedHat butane-0:0.20.0-1.1.rhaos4.15.el8 *
Red Hat OpenShift Container Platform 4.15 RedHat containernetworking-plugins-1:1.4.0-1.2.rhaos4.15.el8 *
Red Hat OpenShift Container Platform 4.15 RedHat cri-o-0:1.28.4-8.rhaos4.15.git24f50b9.el8 *
Red Hat OpenShift Container Platform 4.15 RedHat cri-tools-0:1.28.0-3.1.el9 *
Red Hat OpenShift Container Platform 4.15 RedHat ignition-0:2.16.2-2.1.rhaos4.15.el9 *
Red Hat OpenShift Container Platform 4.15 RedHat openshift-clients-0:4.15.0-202403211240.p0.g62c4d45.assembly.stream.el9 *
Red Hat OpenShift Container Platform 4.15 RedHat ose-aws-ecr-image-credential-provider-0:4.15.0-202403211549.p0.g2e3cca1.assembly.stream.el9 *
Red Hat OpenShift Container Platform 4.15 RedHat podman-3:4.4.1-21.1.rhaos4.15.el8 *
Red Hat OpenShift Container Platform 4.15 RedHat runc-4:1.1.12-1.1.rhaos4.15.el8 *
Red Hat OpenShift Container Platform 4.15 RedHat skopeo-2:1.11.2-21.2.rhaos4.15.el8 *
Red Hat OpenShift Container Platform 4.15 RedHat microshift-0:4.15.6-202403280951.p0.g94b1c2a.assembly.4.15.6.el9 *
Red Hat OpenShift Container Platform 4.15 RedHat rhcos-415.92.202407191425-0 *
Red Hat OpenStack Platform 16.2 RedHat etcd-0:3.3.23-16.el8ost *
Red Hat OpenStack Platform 17.1 for RHEL 8 RedHat collectd-sensubility-0:0.2.1-3.el8ost *
Red Hat OpenStack Platform 17.1 for RHEL 9 RedHat etcd-0:3.4.26-8.el9ost *
Red Hat OpenStack Platform 17.1 for RHEL 9 RedHat collectd-sensubility-0:0.2.1-3.el9ost *
RHODF-4.16-RHEL-9 RedHat odf4/mcg-operator-bundle:v4.16.0-137 *
RHODF-4.16-RHEL-9 RedHat odf4/mcg-rhel9-operator:v4.16.0-38 *

Potential Mitigations

  • Choose a language or tool that provides automatic memory management, or makes manual memory management less error-prone.
  • For example, glibc in Linux provides protection against free of invalid pointers.
  • When using Xcode to target OS X or iOS, enable automatic reference counting (ARC) [REF-391].
  • To help correctly and consistently manage memory when programming in C++, consider using a smart pointer class such as std::auto_ptr (defined by ISO/IEC ISO/IEC 14882:2003), std::shared_ptr and std::unique_ptr (specified by an upcoming revision of the C++ standard, informally referred to as C++ 1x), or equivalent solutions such as Boost.

References