The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2021-3114

CVE-2021-3114: Golang Go Cryptographic Vulnerability

CVE-2021-3114 is a cryptographic flaw in Golang Go affecting the P-224 elliptic curve implementation. It can generate incorrect outputs due to an underflow issue. This article covers technical details, affected versions, and mitigation.

Published: February 25, 2026

CVE-2021-3114 Overview

CVE-2021-3114 is an integer underflow vulnerability in the Go programming language's cryptographic library affecting the P-224 elliptic curve implementation. The vulnerability exists in crypto/elliptic/p224.go where incorrect outputs can be generated due to an underflow of the lowest limb during the final complete reduction in the P-224 field. This flaw affects Go versions before 1.14.14 and 1.15.x before 1.15.7.

The vulnerability impacts cryptographic operations that rely on the P-224 elliptic curve, potentially allowing attackers to exploit weaknesses in digital signatures or key exchange mechanisms. Since this affects the core cryptographic library, any application using Go's elliptic curve cryptography with the P-224 curve may produce incorrect cryptographic outputs, compromising the integrity and confidentiality of encrypted communications.

Critical Impact

Cryptographic operations using the P-224 elliptic curve may produce incorrect outputs, potentially undermining the security guarantees of digital signatures and key exchange protocols in Go applications.

Affected Products

  • Golang Go (versions before 1.14.14 and 1.15.x before 1.15.7)
  • Fedora 33
  • Debian Linux 9.0 and 10.0
  • NetApp Cloud Insights Telegraf Agent
  • NetApp StorageGRID

Discovery Timeline

  • 2021-01-26 - CVE-2021-3114 published to NVD
  • 2024-11-21 - Last updated in NVD database

Technical Details for CVE-2021-3114

Vulnerability Analysis

The vulnerability resides in the p224Contract function within Go's crypto/elliptic/p224.go file. This function is responsible for converting a FieldElement to its unique, minimal form during elliptic curve operations. The flaw occurs during the final complete reduction step in the P-224 field arithmetic.

The P-224 curve uses a specific prime field, and field elements must be reduced to ensure they remain within valid bounds. The p224Contract function performs this reduction by carrying overflow bits between limbs (28-bit segments of the field element). The vulnerability manifests when the reduction identity is applied: a + top * 2²²⁴ = a + top * 2⁹⁶ - top.

When subtracting top from out[0], an underflow can occur if out[0] becomes negative. While the code attempts to handle this through carry-down operations, the original implementation did not guarantee that the output would be less than the prime p, leading to non-unique representations of field elements.

Root Cause

The root cause is an incomplete field reduction in the P-224 elliptic curve implementation. The p224Contract function failed to ensure that the output is strictly less than the prime modulus p. The original contract stated that on exit, in[i] < 2**28, but this was insufficient to guarantee canonical representation. The output must be both less than 2**28 for each limb AND the complete value must be less than p. This oversight in the mathematical reduction logic allowed non-canonical field element representations, which can cause incorrect cryptographic computations.

Attack Vector

This vulnerability can be exploited remotely over the network. An attacker could potentially:

  1. Signature Forgery: Exploit the incorrect field reduction to generate valid-appearing signatures for arbitrary messages
  2. Key Recovery: In certain scenarios, the incorrect outputs could leak information about private keys
  3. Protocol Bypasses: Applications relying on P-224 curve operations for authentication or key exchange may be bypassed

The attack does not require authentication or user interaction, making it particularly concerning for TLS implementations and other network protocols using P-224.

go
// Security patch in src/crypto/elliptic/p224.go - crypto/elliptic: fix P-224 field reduction
 // p224Contract converts a FieldElement to its unique, minimal form.
 //
 // On entry, in[i] < 2**29
-// On exit, in[i] < 2**28
+// On exit, out[i] < 2**28 and out < p
 func p224Contract(out, in *p224FieldElement) {
 	copy(out[:], in[:])
 
+	// First, carry the bits above 28 to the higher limb.
 	for i := 0; i < 7; i++ {
 		out[i+1] += out[i] >> 28
 		out[i] &= bottom28Bits
 	}
 	top := out[7] >> 28
 	out[7] &= bottom28Bits
 
+	// Use the reduction identity to carry the overflow.
+	//
+	//   a + top * 2²²⁴ = a + top * 2⁹⁶ - top
 	out[0] -= top
 	out[3] += top << 12
 
-	// We may just have made out[i] negative. So we carry down. If we made
+	// We may just have made out[0] negative. So we carry down. If we made
 	// out[0] negative then we know that out[3] is sufficiently positive
 	// because we just added to it.
 	for i := 0; i < 3; i++ {

Source: GitHub Commit Changes

Detection Methods for CVE-2021-3114

Indicators of Compromise

  • Applications compiled with vulnerable Go versions (before 1.14.14 or 1.15.x before 1.15.7) using P-224 elliptic curve operations
  • Unexpected cryptographic failures or signature verification errors in Go applications
  • Anomalous TLS handshake behaviors when P-224 is negotiated as the elliptic curve

Detection Strategies

  • Audit Go runtime versions across all deployed applications using go version command
  • Scan compiled binaries to identify the Go version used during compilation
  • Monitor for applications importing crypto/elliptic package with P-224 curve usage
  • Review dependency manifests (go.mod files) for vulnerable Go runtime requirements

Monitoring Recommendations

  • Implement software composition analysis (SCA) to track Go runtime versions across the organization
  • Set up alerts for applications using deprecated or vulnerable cryptographic curves
  • Monitor cryptographic operations for unexpected failures that may indicate exploitation attempts
  • Enable detailed logging for TLS negotiations to detect anomalous curve selections

How to Mitigate CVE-2021-3114

Immediate Actions Required

  • Upgrade Go to version 1.14.14 or later (for 1.14.x branch)
  • Upgrade Go to version 1.15.7 or later (for 1.15.x branch)
  • Recompile all Go applications after upgrading the runtime
  • Review cryptographic implementations for P-224 curve usage and consider migrating to stronger curves like P-256 or P-384

Patch Information

Golang has released security patches addressing this vulnerability. The fix ensures that the p224Contract function properly reduces field elements to their canonical form by guaranteeing out < p in addition to the per-limb constraints.

Patched Versions:

  • Go 1.14.14 and later
  • Go 1.15.7 and later

The patch is available via the GitHub Commit. Additional vendor advisories are available from Debian Security Advisory DSA-4848, Fedora Package Announcement, and NetApp Security Advisory.

Workarounds

  • Disable P-224 curve usage in TLS configurations and prefer P-256, P-384, or P-521 curves
  • Configure applications to reject P-224 curve negotiation where possible
  • Implement additional cryptographic validation checks for applications that cannot be immediately upgraded
  • Consider using alternative cryptographic libraries for P-224 operations until the Go runtime can be upgraded
bash
# Check Go version on systems
go version

# Verify if applications use P-224 curve (search for NIST P-224 references)
grep -r "P224\|elliptic.P224" /path/to/go/source

# Update Go on Debian-based systems
sudo apt update && sudo apt upgrade golang-go

# Update Go on Fedora
sudo dnf update golang

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeOther

  • Vendor/TechGolang

  • SeverityMEDIUM

  • CVSS Score6.5

  • EPSS Probability0.03%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityNone
  • CWE References
  • CWE-682
  • Technical References
  • GoLang Announcement Post

  • Debian LTS Advisory #00014

  • Debian LTS Advisory #00015

  • Fedora Package Announcement

  • Gentoo GLSA 202208-02

  • NetApp Security Advisory

  • Debian Security Advisory DSA-4848
  • Vendor Resources
  • GitHub Commit Changes
  • Related CVEs
  • CVE-2025-47906: Golang Go LookPath Handling Vulnerability

  • CVE-2024-24789: Golang Go Archive/Zip File Vulnerability

  • CVE-2023-45285: Golang Go Insecure Protocol Vulnerability

  • CVE-2025-68121: Golang Go Auth Bypass Vulnerability
Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English