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:
- Major version jump (43.0.1 → 46.0.6): need to verify API compatibility and check for any deprecations impacting the codebase
- The HIGH CVE only affects SECT curves — human should assess whether Plane uses these before prioritizing urgency
- May require updating the Rust toolchain and other build dependencies
Recommended Action
- 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
- Upgrade to
cryptography==46.0.6 in apiserver/requirements/base.txt
- Run tests, especially auth and any crypto-heavy flows
- Review the cryptography changelog for breaking changes: https://cryptography.io/en/latest/changelog/
Mitigations In Place
Summary
cryptography==43.0.1inapiserver/requirements/base.txthas 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 tocryptography>=46.0.6.Vulnerabilities
CVE-2026-26007 — ECDH Subgroup Attack (HIGH)
CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N)46.0.5public_key_from_numbers(),EllipticCurvePublicNumbers.public_key(),load_der_public_key(), andload_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)
44.0.1cryptography42.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)
46.0.6bar.example.comto validate against*.example.comeven if a parent cert excludesbar.example.com. Requires uncommon X.509 topology to exploit.Package Details
cryptography43.0.146.0.6(addresses all three CVEs)apiserver/requirements/base.txtSeverity 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
cryptographyprimarily 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 curvesload_pem_public_key()/load_der_public_key()followed by ECDHTriage Reasoning
Escalating rather than auto-fixing because:
Recommended Action
sect163,sect233,sect283,sect409,sect571,SECT_*) — if none found, risk from CVE-2026-26007 is effectively zerocryptography==46.0.6inapiserver/requirements/base.txtMitigations In Place