Junglewise Threat Intelligence

CVE-2026-81702: openssl_encrypt key substitution in identity loading

CVE-2026-81702 · Severity: critical · CVSS 9.8 · Published 2026-08-27

Technologies: openssl-encrypt (PyPI), Jahlives Openssl Encrypt. Vendors: PyPI, Jahlives.

Executive brief

openssl_encrypt is a cryptographic tool used to encrypt and digitally sign files using public-key authentication. The software fails to validate that loaded public keys match their claimed fingerprints, allowing attackers to swap legitimate keys with their own while the system displays the original fingerprint. This enables attackers to silently decrypt files intended for others and forge valid-appearing signatures, compromising the authenticity of encrypted communications.

Technical details

The vulnerability is insufficient verification of data authenticity (CWE-345) in the Identity.load() function. When loading identities from identity.json, the code trusts the stored fingerprint field without re-deriving it from the actual .pem public-key files. This contrasts with the import_public() path, which calls check_fingerprint_consistency() and rejects mismatches. An attacker who can supply or modify the identity store (shared directory, extracted archive, or attacker-controlled --identity-store path) can replace .pem files with attacker-controlled keys while keeping the original fingerprint claim in identity.json. The attack succeeds because encrypt uses the swapped ML-KEM key, decrypt verifies signatures against the fake ML-DSA key, and add_identity performs TOFU checks against the claimed (not recomputed) fingerprint. The fix in 1.4.9 enforces fingerprint re-derivation on load, closing the attack.

Affected products

  • jahlives openssl_encrypt before 1.4.9

Timeline

  • 2026-08-27: disclosed: CVE-2026-81702 published
  • 2026-08-12: patched: Version 1.4.9 released with fingerprint re-derivation fix

References

Related threats