CVE-2026-26007
Undergoing Analysis Undergoing Analysis - In Progress
Elliptic Curve Subgroup Validation Flaw in cryptography Package

Publication date: 2026-02-10

Last updated on: 2026-02-23

Assigner: GitHub, Inc.

Description
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to 46.0.5, the public_key_from_numbers (or EllipticCurvePublicNumbers.public_key()), EllipticCurvePublicNumbers.public_key(), load_der_public_key() and load_pem_public_key() functions do not verify that the point belongs to the expected prime-order subgroup of the curve. This missing validation allows an attacker to provide a public key point P from a small-order subgroup. This can lead to security issues in various situations, such as the most commonly used signature verification (ECDSA) and shared key negotiation (ECDH). When the victim computes the shared secret as S = [victim_private_key]P via ECDH, this leaks information about victim_private_key mod (small_subgroup_order). For curves with cofactor > 1, this reveals the least significant bits of the private key. When these weak public keys are used in ECDSA , it's easy to forge signatures on the small subgroup. Only SECT curves are impacted by this. This vulnerability is fixed in 46.0.5.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-10
Last Modified
2026-02-23
Generated
2026-05-07
AI Q&A
2026-02-11
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
cryptography.io cryptography to 46.0.5 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-345 The product does not sufficiently verify the origin or authenticity of data, in a way that causes it to accept invalid data.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

This vulnerability exists in the cryptography package for Python versions prior to 46.0.5. Certain functions that handle elliptic curve public keys do not verify that the provided public key point belongs to the expected prime-order subgroup of the curve. This missing validation allows an attacker to supply a public keys from a small-order subgroup.

As a result, when a victim uses these weak public keys in cryptographic operations like ECDSA signature verification or ECDH key negotiation, it can leak information about the victim's private key or allow signature forgery on the small subgroup. Specifically, for curves with cofactor greater than 1, this can reveal the least significant bits of the private key.

Only SECT curves are affected by this vulnerability, and it was fixed in version 46.0.5 of the cryptography package.


How can this vulnerability impact me? :

This vulnerability can lead to serious security issues including leakage of private key information and the ability to forge digital signatures.

  • In ECDH key negotiation, an attacker can learn information about the victim's private key modulo the small subgroup order, potentially exposing parts of the private key.
  • In ECDSA signature verification, an attacker can forge signatures on the small subgroup, compromising the integrity of digital signatures.

Overall, this can undermine the confidentiality and authenticity guarantees provided by cryptographic operations using the affected functions and curves.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, upgrade the cryptography package to version 46.0.5 or later, where the issue has been fixed.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart