Logo
›
›component›python3-cryptography
Name
python3-cryptography
Version
42.0.5
Type
library
Description
Provides cryptographic recipes and primitives to python developers
Licenses
Apache-2.0 | BSD-3-Clause
PURL
-
CPE
cpe:2.3:*:pyca:cryptography:42.0.5:*:*:*:*:*:*:*

Other Versions#


Project
Branch
Version
kirkstone
36.0.2
master
50.0.1

Patches#


#
Title
Author
Resolve
1
x509: distinguish NC kinds when evaluating wildcard DNS SANs
William Woodruff <william@yossarian.net>
CVE-2026-69248
2
Add a signature validation budget during path construction
William Woodruff <william@yossarian.net>
CVE-2026-69249
3
Further restrict DNS wildcards in name constraint matching
William Woodruff <william@yossarian.net>
CVE-2026-34073
4
EC check key on cofactor > 1
Paul Kehrer <paul.l.kehrer@gmail.com>
CVE-2026-26007
5
pyproject.toml: remove --benchmark-disable option
Mingli Yu <mingli.yu@windriver.com>

Vulnerabilities#


Name
Analysis
Description
Patched
python-cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In versions 42.0.0 through 48.0.0, when resolving invalid certificate chains that include duplicate copies of self-signed certificates, the processing recursively invokes the same candidate, leading to an exponential blowup. Although the limitation that the chain depth cannot exceed a specified maximum depth prevents unbounded recursion and guarantees termination, an attacker-controlled certificate chain can lead the processing to easily take more than 5s to reject in testing. This amplification could form the basis for a resource exhaustion denial of service attack. The core issue arises in the recursive nature of build_chain_inner, which does not de-duplicate against previously analyzed candidates. As the correctness of validation is not affected, the integrity of a system cannot be compromised through this vector, only its availability. This issue is fixed in 49.0.0.
Patched
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. In versions 45.0.0 through 48.0.0, if an intermediate constrained CA permits the DNS name foo.example.com, and the leaf certificate has a wildcard in its DNS SAN of *.example.com, python-cryptography's verifier accepts which allows escaping outside of the permitted names. The core issue is in DNSConstraint::matches, where a wildcard pattern was treated as matching a more-specific permitted constraint even though *.example.com can expand to sibling names such as bar.example.com outside foo.example.com. This allows acceptance of an invalid certificate chain. This issue is fixed in 49.0.0.
Patched
cryptography is a package designed to expose cryptographic primitives and recipes to Python developers. Prior to version 46.0.6, DNS name constraints were only validated against SANs within child certificates, and not the "peer name" presented during each validation. Consequently, cryptography would allow a peer named bar.example.com to validate against a wildcard leaf certificate for *.example.com, even if the leaf's parent certificate (or upwards) contained an excluded subtree constraint for bar.example.com. This issue has been patched in version 46.0.6.
Patched
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.