Skip to content

security: CVE-2026-26007 + others - cryptography 43.0.1 - upgrade to 46.0.6 #3

Description

@vks-archastro

Summary

cryptography==43.0.1 in apiserver/requirements/base.txt has multiple vulnerabilities. The most critical is an ECDH subgroup attack (CVE-2026-26007, HIGH) affecting SECT curves, and a secondary OpenSSL vulnerability (CVE-2024-12797). Fix requires upgrade to cryptography>=46.0.6.


Vulnerabilities

CVE-2026-26007 — ECDH Subgroup Attack (HIGH)

  • Advisory: GHSA-r6ph-v2qm-q3c2
  • CVSS: HIGH (CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N)
  • Fixed in: 46.0.5
  • Description: public_key_from_numbers(), EllipticCurvePublicNumbers.public_key(), load_der_public_key(), and load_pem_public_key() do not verify that the public key point belongs to the expected prime-order subgroup of the curve. For SECT curves (cofactor > 1), an attacker supplying a small-subgroup public key can leak bits of the victim's ECDH private key, and forge ECDSA signatures. Only SECT curves are affected.

CVE-2024-12797 — Vulnerable OpenSSL in wheels (LOW)

  • Advisory: GHSA-79v4-65xg-pq4g
  • Fixed in: 44.0.1
  • Description: The statically linked OpenSSL in cryptography 42.0.0–44.0.0 wheels is vulnerable. Affects users installing from PyPI wheels (not sdist builds).

CVE-2026-34073 — Incomplete DNS Name Constraint Enforcement (LOW)

  • Advisory: GHSA-m959-cc7f-wv43
  • Fixed in: 46.0.6
  • Description: DNS name constraints were only validated against SANs, not the peer name during validation. Allows a peer named bar.example.com to validate against *.example.com even if a parent cert excludes bar.example.com. Requires uncommon X.509 topology to exploit.

Package Details

  • Package: cryptography
  • Current version: 43.0.1
  • Fixed version: 46.0.6 (addresses all three CVEs)
  • File: apiserver/requirements/base.txt

Severity Assessment

The ECDH subgroup attack (CVE-2026-26007) is HIGH severity but only affects SECT curves (e.g., sect163k1, sect233r1). NIST P-curves (secp256r1, secp384r1) and Curve25519 are not affected. Plane uses cryptography primarily for token signing and general cryptographic operations — if SECT curves are not used (typical for web applications), practical exploitability is very low.


Affected Code

  • apiserver/ — any code using ECDH key exchange or ECDSA with SECT curves
  • Any certificate loading with load_pem_public_key() / load_der_public_key() followed by ECDH

Triage Reasoning

Escalating rather than auto-fixing because:

  1. Major version jump (43.0.1 → 46.0.6): need to verify API compatibility and check for any deprecations impacting the codebase
  2. The HIGH CVE only affects SECT curves — human should assess whether Plane uses these before prioritizing urgency
  3. May require updating the Rust toolchain and other build dependencies

Recommended Action

  1. Assess curve usage: Search the codebase for SECT curve names (sect163, sect233, sect283, sect409, sect571, SECT_*) — if none found, risk from CVE-2026-26007 is effectively zero
  2. Upgrade to cryptography==46.0.6 in apiserver/requirements/base.txt
  3. Run tests, especially auth and any crypto-heavy flows
  4. Review the cryptography changelog for breaking changes: https://cryptography.io/en/latest/changelog/

Mitigations In Place

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions