CVE-2021-3114: Vulnerability in golang package - Incorrect Outputs in crypto/elliptic/p224.go

golang Updated 02 Oct 2025

Summary

06/03/2024
Yes i
Medium
Not published

CVE-2021-3114: In Go before 1.14.14 and 1.15.x before 1.15.7, crypto/elliptic/p224.go can generate incorrect outputs, related to an underflow of the lowest limb during the final complete reduction in the P-224 field. Affects golang across 2 version ranges.

< 1.14.14 >= 1.15.0, < 1.15.7

Fixed in 1.14.14 or 1.15.7, depending on the release line you run. How to fix ↓

Also tracked for

The same CVE-2021-3114 is tracked separately for each ecosystem and vendor. Its fix information is the same; the package and affected versions differ.

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Sponsored Devnack Mobile apps built by Devnack Design, build and launch iOS and Android apps with a senior product team. From idea to store release Start a project

Background

The golang package is a popular open-source programming language that is widely used for developing efficient and reliable software applications. It provides a rich set of libraries and tools for various purposes, including cryptography. One of the cryptographic components in the golang package is the elliptic curve implementation, which includes the p224.go file. This file is responsible for generating outputs in the P-224 field. However, versions of Go before 1.14.14 and 1.15.x before 1.15.7 suffer from a vulnerability in the p224.go file, leading to the generation of incorrect outputs. This vulnerability is caused by an underflow of the lowest limb during the final complete reduction in the P-224 field.

Vulnerability Detail

The vulnerability in the p224.go file of the golang package can have significant security implications. When incorrect outputs are generated, it can lead to cryptographic weaknesses and potential exploitation by attackers. The underflow of the lowest limb during the final complete reduction in the P-224 field can result in incorrect calculations and compromise the integrity and confidentiality of cryptographic operations relying on this functionality. It is crucial to address this vulnerability promptly to ensure the security of systems using the affected versions of the golang package.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • < 1.14.14 1.14.14
  • >= 1.15.0, < 1.15.7 1.15.7

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Workaround

There is no specific workaround mentioned for this vulnerability. The recommended approach is to update the golang package to the fixed versions as mentioned above.

Conclusion

The vulnerability in the golang package's p224.go file can result in the generation of incorrect outputs in the P-224 field, compromising the security of cryptographic operations. To mitigate this vulnerability, it is crucial to update the golang package to version 1.14.14 or later for Go 1.14.x, and version 1.15.7 or later for Go 1.15.x. For further assistance and support in addressing this vulnerability, please contact DevNack.com.

See every vulnerability recorded for golang →

Share this vulnerability

FAQ

This vulnerability can lead to incorrect outputs in the P-224 field, compromising the integrity and confidentiality of cryptographic operations relying on this functionality.

Versions of Go before 1.14.14 and 1.15.x before 1.15.7 are affected by this vulnerability.

There are no known exploits for this vulnerability at the moment. However, it is crucial to address it promptly to prevent potential exploitation.

Yes, the fix for this vulnerability is available in golang package versions 1.14.14 and 1.15.7 or later.

If you are using an affected version of the golang package, it is recommended to update to the fixed versions (1.14.14 or 1.15.7) as soon as possible.

Related vulnerabilities

Recent vulnerabilities recorded for golang.

How To Fix

Fixed versions by release line

The minimum fixed version depends on the release line you run.

  • < 1.14.14 1.14.14
  • >= 1.15.0, < 1.15.7 1.15.7

Tip — Not sure which release line you're on? Vulert can find the fix for the version you are using. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback