Skip to content

Update dependency cryptography to v46 [SECURITY]#236

Open
renovate[bot] wants to merge 1 commit into2/edgefrom
renovate/pypi-cryptography-vulnerability
Open

Update dependency cryptography to v46 [SECURITY]#236
renovate[bot] wants to merge 1 commit into2/edgefrom
renovate/pypi-cryptography-vulnerability

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Feb 11, 2026

This PR contains the following updates:

Package Change Age Confidence
cryptography (changelog) ^45.0.4^46.0.0 age confidence

cryptography Vulnerable to a Subgroup Attack Due to Missing Subgroup Validation for SECT Curves

CVE-2026-26007 / GHSA-r6ph-v2qm-q3c2

More information

Details

Vulnerability Summary

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.

Credit

This vulnerability was discovered by:

  • XlabAI Team of Tencent Xuanwu Lab
  • Atuin Automated Vulnerability Discovery Engine

Severity

  • CVSS Score: 8.2 / 10 (High)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


cryptography has incomplete DNS name constraint enforcement on peer names

CVE-2026-34073 / GHSA-m959-cc7f-wv43

More information

Details

Summary

In versions of cryptography prior to 46.0.5, 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 behavior resulted from a gap between RFC 5280 (which defines Name Constraint semantics) and RFC 9525 (which defines service identity semantics): put together, neither states definitively whether Name Constraints should be applied to peer names. To close this gap, cryptography now conservatively rejects any validation where the peer name would be rejected by a name constraint if it were a SAN instead.

In practice, exploitation of this bypass requires an uncommon X.509 topology, one that the Web PKI avoids because it exhibits these kinds of problems. Consequently, we consider this a medium-to-low impact severity.

See CVE-2025-61727 for a similar bypass in Go's crypto/x509.

Remediation

Users should upgrade to 46.0.6 or newer.

Attribution

Reporter: @​1seal

Severity

  • CVSS Score: 1.7 / 10 (Low)
  • Vector String: CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N/E:U

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Cryptography vulnerable to buffer overflow if non-contiguous buffers were passed to APIs

CVE-2026-39892 / GHSA-p423-j2cm-9vmq

More information

Details

If a non-contiguous buffer was passed to APIs which accepted Python buffers (e.g. Hash.update()), this could lead to buffer overflows. For example:

h = Hash(SHA256())
b.update(buf[::-1])

would read past the end of the buffer on Python >3.11

Severity

  • CVSS Score: 6.9 / 10 (Medium)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

pyca/cryptography (cryptography)

v46.0.7

Compare Source

v46.0.6

Compare Source

v46.0.5

Compare Source

v46.0.4

Compare Source

v46.0.3

Compare Source

v46.0.2

Compare Source

v46.0.1

Compare Source

v46.0.0

Compare Source

v45.0.7

Compare Source

v45.0.6

Compare Source


Configuration

📅 Schedule: (in timezone Etc/UTC)

  • Branch creation
    • ""
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes label Feb 11, 2026
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch 2 times, most recently from c8a547b to 68768ac Compare February 13, 2026 16:33
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch from 68768ac to c04e3f6 Compare February 23, 2026 12:17
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch from c04e3f6 to 335c41e Compare March 3, 2026 16:39
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch 2 times, most recently from 16e057e to 846733f Compare March 26, 2026 20:16
@renovate renovate Bot changed the title Update dependency cryptography to v46 [SECURITY] Update dependency cryptography to v46 [SECURITY] - autoclosed Mar 27, 2026
@renovate renovate Bot closed this Mar 27, 2026
@renovate renovate Bot deleted the renovate/pypi-cryptography-vulnerability branch March 27, 2026 03:44
@renovate renovate Bot changed the title Update dependency cryptography to v46 [SECURITY] - autoclosed Update dependency cryptography to v46 [SECURITY] Mar 29, 2026
@renovate renovate Bot reopened this Mar 29, 2026
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch from 846733f to 8ff4018 Compare March 29, 2026 04:41
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch from 8ff4018 to 12da8b1 Compare April 9, 2026 01:02
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch from 12da8b1 to ff478ea Compare April 23, 2026 16:14
@renovate renovate Bot force-pushed the renovate/pypi-cryptography-vulnerability branch from ff478ea to 62954aa Compare April 24, 2026 13:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants