Memory Leak Affecting go-toolset package, versions <0:1.20.12-1.module+el8.9.0+90189+385a1f8c


Severity

Recommended
high

Based on Oracle Linux security rating.

Threat Intelligence

EPSS
0.07% (33rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Memory Leak vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-ORACLE8-GOTOOLSET-6483192
  • published24 Mar 2024
  • disclosed21 Mar 2024

Introduced: 21 Mar 2024

CVE-2024-1394  (opens in a new tab)
CWE-401  (opens in a new tab)

How to fix?

Upgrade Oracle:8 go-toolset to version 0:1.20.12-1.module+el8.9.0+90189+385a1f8c or higher.
This issue was patched in ELSA-2024-1472.

NVD Description

Note: Versions mentioned in the description apply only to the upstream go-toolset package and not the go-toolset package as distributed by Oracle. See How to fix? for Oracle:8 relevant fixed versions and status.

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.

References

CVSS Scores

version 3.1